This project is a simple blog platform developed using the NestJS framework. It leverages microservice and event-driven architecture to ensure scalability, flexibility, and efficient communication between different components. The architecture is designed to handle various aspects of a blog, such as post creation, comment management, and user interaction, through distinct microservices that communicate via events. This setup allows for seamless integration, improved performance, and ease of maintenance.
Key features include:
- Microservice Architecture: Each core functionality (e.g., posts, comments) is handled by a dedicated microservice, promoting modularity and scalability.
- Event-Driven Communication: The microservices communicate through events, ensuring loose coupling and asynchronous processing.
- NestJS Framework: Utilizes NestJS for building scalable and maintainable server-side applications with TypeScript.
- HTTP Authentication, scheme: bearer
POST /api/v1/user/sign-up
{
"fullName": "behzad khalifeh",
"email": "bkhalifeh@protonmail.com",
"password": "Behzad@Kh80"
}
POST /api/v1/user/sign-in
{
"email": "bkhalifeh@protonmail.com",
"password": "Behzad@Kh80"
}
GET /api/v1/user
POST /api/v1/post
{
"title": "microservice",
"content": "Hello World!"
}
GET /api/v1/post
GET /api/v1/user/:userId/post
GET /api/v1/post/:postId
GET /api/v1/post/:postId/comment
POST /api/v1/post/10/comment
{
"content": "Woow"
}