🧩 Microservices Architecture

Microservices is an architectural style that structures an application as a collection of small, independent, and loosely coupled services. Each service is responsible for a specific business capability and can be developed, deployed, and scaled independently.

🚦 When Should You Use Microservices?

  • Your application is growing and becoming difficult to manage as a single codebase (monolith).
  • You want to scale specific parts of your system independently (e.g., scale only the API or worker service).
  • Your team is large and you want to enable independent development and deployment cycles.
  • You need to use different technologies or databases for different parts of your system.
  • You want to improve system resilience—if one service fails, others keep running.

🎯 Purpose of Microservices

  • Break down complex applications into manageable, focused services.
  • Enable independent deployment and scaling of services.
  • Allow teams to work autonomously on different services.
  • Increase system resilience and fault isolation.
  • Facilitate technology diversity and experimentation.

🔗 Types of Microservices

  • API Services: Handle HTTP requests and expose endpoints for clients.
  • Worker Services: Perform background jobs, processing, or scheduled tasks.
  • Gateway Services: Aggregate and route requests to other microservices.
  • Event-Driven Services: Communicate via events/messages (e.g., using queues or pub/sub).
  • Database Services: Own and manage specific data domains.

🚀 Forjnot: Ready for Microservices

Forjnot is architected to make adding microservices seamless. You can introduce new services (like apps/worker, apps/api-gateway, etc.) right alongside your existing apps. The shared packages/ directory lets you reuse types, DTOs, configs, and utilities across all services, making scaling and maintenance a breeze.

Example: Add a new worker microservice
mkdir apps/worker
Example: Add a new API gateway microservice
mkdir apps/api-gateway

The template is designed to scale as your needs grow—add as many microservices as you want, and keep your codebase organized and maintainable.

🧩 Need a Custom Microservice Setup?

If you’re building something unique and want to integrate a microservice beyond what’s included, feel free to reach out. While Forjnot is opinionated, it’s also flexible — and I’m happy to help guide you through adding support for popular backends I’ve worked with (like Node.js/NestJS, Python/FastAPI/Flask). Want to collaborate or need a tailored setup? Email me