Hand-on | Building Microservices

Simple development of different microservices using Docker

Application for e-commerce Hub

REST API to support application features

  • Express as web framework with Typescript

  • Passport js for social authentication

  • Express CORS enabled

  • boom for error codes & Joi for Validation

  • Winston for logging and express minitor for monitoring

  • Mongoose as ODM driver

  • eslint validation extending airbnb styleguide

  • git hooks & CI/CD in place

  • Typescript based compilation tsc compiler

  • TDD in progress with Mocha

  • JWT based authentication

  • multiple Mongoose collection with referencing

  • payment gateway Integration

  • Heroku deployment

  • Mini e-commerce platform

Cart Application

"It's just simple application to provide REST APIs for mini e-commerce platform where individual can buy products and can pay the bills

  • microservices architecture

  • Client application in React

  • User Auth microservices

  • Cart services

  • Admin Microservices

# Application Execution
```javascript
git clone  repo
npm install
npm run startdev
tsc -- watch

Application configuration

env.sh need to be added locally 
export NODE_ENV="dev"
export PORT="3005"
export MONGOURL="mongodb://mongo/hello"
export EXPRESS_SESSION_SECRET="************************"
export F_CLIENTID="**************"
export F_CLIENTSECRET="**********************"

update etc/hosts file

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
127.0.0.1       mysql redis mongo
127.0.0.1       ms-commerce.com

Sevices end-point

Application NPM Script

"start": "cd dist &&  nodemon server.js",
"prestart": "tsc && cp -r uploads dist/ && cp -r app/global dist/app/",
"clean" : "rm -rf dist",
"copy" : "cp -r uploads dist/ && cp -r app/global dist/app/"

Last updated