Coder Social home page Coder Social logo

micro-serv-des's Introduction

micro-serv-des

mp4 to mp3 converter

an example project to practice and show-off some knowledge from micro-service system design
this app converts mp4 files to mp3
how?? let me explain\

first, lets have look to how to work with:\

as the first step you have to register.forgot to impliment that part in this version[maybe next version]
so you request for login
a jwt token will return if you send the right credentials
then you send the video and the token
the app will validates the token ,save the video and say "we call you when its ready" to you
at the end when the video converted to mp3 the app will send you an email and give you an id to download the video

second, lets have a look at how the app works:
the app composed from 5 micro services and rabbitmq as our message broker.
it uses nginx-ingress as load balancer
we write a service with flask for auth service/ connects to mysql database. it checks the password and validate tokens. then another service as gateway with its the main part of the programm[also uses flask for now].
the another two are two consumer service that connects to rabbitmq and each on listen to one channel.

  • the converter waits until a new video upload and convert it to mp3. then save it in mongo db and place a message to audio channel.
  • the notify service listening to audio channel. when a new audio found send an email to user and notifs him.

this app uses

  • jwt authentication
  • Docker
  • kubernetes
  • mysql
  • mongodb
  • rabbitmq
  • flask

services:

  1. gateway
  2. rabbitmq
  3. auth
  4. converter
  5. notify

TODO:

  • write curl script helper
  • and thats v0.1
  • change gateway to django

micro-serv-des's People

Contributors

aminmasoudi avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

micro-serv-des's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.