This project is a full-stack application built with Next.js, NestJS, and Prisma.
TBC: Mobile App built on React Native.
The frontend client is built using Next.js, a popular React framework for building user interfaces. Access it here Frontend App
The API Gateway is the entry point for clients to interact with the microservices. It handles client requests by routing them to the appropriate microservice. The API Gateway also aggregates the responses from the microservices and returns them to the client. This decouples the client from the microservices, allowing them to evolve independently.
For more details, see the API Gateway README.
TBC: Two more microservices (programs and modules).
The lessons
microservice is built using NestJS, a progressive Node.js framework for building efficient and scalable server-side applications. It is responsible for managing the lessons in the application.
For more details, see the lessons microservice README.
The courses
microservice, also built with NestJS, manages the courses in the application.
For more details, see the courses microservice README.
The database for the application is built using Prisma. Here's a diagram of the database structure:
The architecture of this application applies a microservices pattern. The client sends REST requests to an API Gateway, which connects to the microservices via a reversed proxy.
To handle CQRS, a Query Service is used for communication between the microservices using an event bus. This allows the application to scale and handle high loads of operations.
Here's a simplified diagram of the architecture:
Author - Felipe Silveira
This is a MIT licensed open source project created to practice my skills. If you'd like to see the inspiration platform, please access here.