install shared libreary (@alpha-lib/shared-lib)
- install with yarn
yarn add @alpha-lib/shared-lib
- install with npm
npm install @alpha-lib/shared-lib
- Micro Services Architecture
- MVC model for develop each service
- Mono Repos for manage the projects
- MERN stack for development (TypeScript backend)
- NATS Streaming Server (Event Bus) for event handling
- Ingress-Nginx as Ingress Controller and Loadbalancer
- Skaffold for automate development
- publish npm package as shared library for the project
- Use docker hub for image publish
- bull.js for handle expiration service
- use Redis Server for expiration service
- use mongoDB as a database
- Cluster IP service for internal communication
- use docker for containerized the each service
- kubernetes for manage containers
- use Google kubernetes engine for host micro services and use it as a development cluste then convert to production cluster
- Default error handling
- Backend validation
- Authentication and Autherization (JWT token, email verifications)
- Front end hosted on vercel
- Configure a domain for backend cluster
- Configure a SSL certificate to serve through ingress-nginx