Skip to content

A microservices architecture platform to allow users to place orders for their files for printing on the shop of their choice.

Notifications You must be signed in to change notification settings

AnuragProg/printit-microservices-monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📖 Introduction

❓ Problem Statement

There are huge number of people who visit shops to get print of some sort, it could be admit cards, documents, project files, etc. and to do so they have to physically go to the store of their choice, get in queue and wait for their file to be printed. Hence making the process cumbersome and time taking. Even though alternatives exist, like using Whatsapp to do so, but it requires trust from the shopkeeper and is not dedicated for this purpose. Hence indicating the need for a dedicated product to solve this problem.

💡 Solution

Printit is a platform built in microservices architecture to streamline the printout process eliminating the need to queue in front of shops.

✨ Features

  • Simplified order flow for shopkeepers and customers
  • Real-time shop traffic updates and notifications
  • Microservices architecture for scalability and maintainability
  • Asynchronous order processing using MQTT
  • High-performance inter-service communication with gRPC
  • Well designed REST API's for client-side communication

🛠️ System Design

printit drawio

⚙️ Setup

  1. 📬 Postman - Import postman collection

    • Rest API Collection
    • GRPC - Import Grpc methods from .proto files in proto_def
    • WebSocket
      • Live Traffic
        • url: localhost:3005/live-traffic
        • message: {"action": "subscribe" /*unsubscribe*/ ,"shopIds": ["669277b6de7ae8cca804bf6d"] /* list of shop ids */}
      • Notification
        • url: localhost:3006/notification
        • header: Authorization: Bearer <token>
  2. 🐳 Docker docker compose up -f compose.yaml

About

A microservices architecture platform to allow users to place orders for their files for printing on the shop of their choice.

Resources

Stars

Watchers

Forks