Skip to content

A simple demo backend application for rabbitmq and docker learners in Typescript.

Notifications You must be signed in to change notification settings

bibekgaihre/bikerent.io

Repository files navigation

Bikerent-Boilerplate

EN:
A simple demo application for rabbitmq and docker learners in Typescript. This is only intended to show demo and not to be used on production. Tech Stacks used:

  • Typescript
  • Nodejs
  • NextJs
  • Mongodb
  • Websocket
  • Rabbitmq
  • Docker

The idea is simple. We have a Gateway service which acts as a door or proxy for other apis. It will contain basic authentication and authorization. It connects with other services using REST apis. Auth Service has functions related to user registration and login. Product service has functions related to product. Meanwhile it is also connected with Order and Payment service using Messaging queues. Notification Service will emit event using websocket once payment is processed using payment service. Payment and notification are also connected using message queues. If you want to decouple more. You can follow clean architecture/SOLID principle on each services.


.env example:
PORT= 8081
DATABASE= mongodb://mongo:27017/bikerent-order

How to Run:
-- Clone the project
-- On each service directory set .env file with PORT and DATABASE as variables. If you want to run database container then you need to set your service name inside hostname instead of localhost on env file.
-- Run command "docker-compose up" or run command "make run-dev"
You can use the uploaded postman collection. For testing websocket, postman has an availability on beta.

%%Demo purpose only%%
Feedbacks using issues and features updates using pull request are appreciated
Thank you. :)

Currently in verge of extension to frontend

// things to fix:

  • Message Peristency in the queue

About

A simple demo backend application for rabbitmq and docker learners in Typescript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published