A simple Movie database with ratings and comments with limited social functionality, registration options and private lists control.
For this project, although it has very limited functional requirements, there will be developed a variety of services with a main layer strongly influenced by DDD and microservices distributed architectures. Microservices pretend to determine an exact context boundaries to the DDD model of all project, accordingly divided by local models, aggregates and pass messages through Redis to delegate tasks and information flow.
- Node.js LTS
- React
- MongoDB
- Redis
- Typescript
- Gulp
- Webpack
- Variety of other tools
Whole application is dockerized and managed through docker-compose
, node process manager is pm2
- It is divided by two subdirectories,
client
andserver
. @types
is for the project typings, to be able reuse them across front/backconfigs
are jest, babel configsdocker
docker configuration
launch
contains server launching fabric for different microservices what are going to be executed.services
contain external / independent serviceshandlers
contain all controllers to which the routes will claim forroutes
files with routing for expresspkg
it is the main directory for the application services/repositoriespkg/storage
different repositories for each different DB motor we implementpkg/{verbose}
self-explainable services
docker
Node LTS
yarn install
- cd
docker
&&docker-compose build
- cd
docker
&&docker-compose up
- if mongo did't start in replicaSet ->
docker-compose exec -T mongo mongo rs.initiate()
yarn serve:dev:client