10000 GitHub - nirangad/tiny-ecom-skeleton: Tiniest E-Commerce skeleton with microservices architecture with NodeJS.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tiniest E-Commerce skeleton with microservices architecture with NodeJS.

Notifications You must be signed in to change notification settings

nirangad/tiny-ecom-skeleton

Repository files navigation

tiny-ecom-skeleton

Tiniest E-Commerce skeleton with microservices architecture with NodeJS. This is an attempt to cover basics of microservices architecture. Many concepts/tools are being used.

Please note that connections to MongoDB and RabbitMQ are made without authentication. Make sure to do the necessary changes to the code if authentication is required

Tools and Technologies

  • express for exposing REST endpoints
  • jsonwebtoken for authentication tokens
  • amqplib as a client for RabbitMQ
  • mongoose as the Object data Mapper for MongoDB
  • @nirangad/is-authenticated is used as a middleware for express to validate Authorization header for the token
  • For input validation, express-validator is used
  • winston and express-winston for Logging. access.log and error.log will be created under logs folder
    • Comment/Uncomment app.use(logger()) in the index.ts of any service
  • i18next used to handle localization in the API responses.
    • At the moment it supports only English and German
    • New languages can be enabled by updating supportedLngs in common\locales\localize.ts
    • New resources file should be placed in common\locales\i18n with <language_code>.json as the file name
    • German translation are taken directly from Google Translate. So might not be accurate
  • All services are dockerized and docker-compose is used to spin everything up and/or shut it all down

Top level architecture

Basic architecture

Releases

No releases published

Packages

No packages published
0