Skip to content

Latest commit

 

History

History
59 lines (47 loc) · 2.49 KB

File metadata and controls

59 lines (47 loc) · 2.49 KB
Probien logo

Pawn Shop Web Application | Roadmap

Monolith to Microservices

Probien is a project with the initial purpose of being a monolith and once finished, it will be split into a microservice architecture using GRPC or RabbitMQ with event driven architecture

Lessons Learned

What did you learn while building this project? What challenges did you face and how did you overcome them? First, I had no idea how to structure the project, I come from java and have always used the MVC pattern to build services, then I decided to learn another type of desing so I create this project with domain based approach (DDD) and ports & adapters (Recomendations are welcome).

Have a proposal?

Submit a pull request for discussion

Roadmap

  • Phase 1 (Core service - Monolith)

    • JWT & SessionID Authentication ✔️
    • Authorization Based on Roles ✔️
    • Database logs ✔️
    • Transaction | CRUD Operations ✔️
    • HTTP Tests ✔️
  • Phase 2 (Microservices)

    • Refactor bussiness logic (optional if not needed) ➖

    • System design 🕞

    • Discovery service 🕞

    • API gateway 🕞

    • Authentication service (keycloak or common RBAC database roles) 🕞

    • Pawn shop service 🕞

    • Payment service 🕞

    • Employee service 🕞

    • Client service 🕞

    • Inventory service 🕞

    • Log service 🕞

    • E-mail/sms notification service 🕞

  • Phase 3

    • Start frontend: ➖
      • (Microfrontend 1) Landing page (Nuxt js) ➖
      • (Microfrontend 2) Administration app (any js framework) ➖
  • Proposals

    • (New microservice) Reports By Pawn Shop Branch ➖
    • (New microservice) Add employee payments ➖
    • Mobile App for customers ➖