You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+41-53Lines changed: 41 additions & 53 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# **Budget Management Backend API**
1
+
# **Budget Management API - A Comprehensive, Microservices-Based API for Managing Budgets, Expenses, Users, and More! 💰**
2
2
3
3
**Welcome to the Budget Management API**, a robust, **microservices** backend platform for managing budgets, expenses, users, orders, and notifications. Built with **Node.js**, **Express**, and **TypeScript**, it supports advanced features like **GraphQL**, **gRPC**, **WebSockets**, and **REST APIs**. The API integrates with **PostgreSQL**, **MongoDB**, **MySQL**, **Redis**, **RabbitMQ**, **Kafka**, and **Elasticsearch**, and is containerized with **Docker** and orchestrated using **Kubernetes**. It also includes a developer-friendly **CLI** tool and interactive **Swagger/OpenAPI** documentation for exploring and testing endpoints.
4
4
@@ -8,14 +8,16 @@
8
8
</a>
9
9
</p>
10
10
11
-
Below is a _very_comprehensive guide to setting up, running, and utilizing this API.
11
+
Below is a _very__comprehensive_ guide to setting up, running, and utilizing this API. 💸🚀
@@ -33,6 +35,7 @@ Below is a _very_ comprehensive guide to setting up, running, and utilizing this
33
35
18.[Spring Boot Backends with Gradle & Maven](#spring-boot-backends-with-maven-and-gradle)
34
36
19.[Dotnet Backends with C#](#dotnet-backend-with-c-sharp)
35
37
20.[Continuous Integration and Deployment with Jenkins](#continuous-integration-and-deployment-with-jenkins)
38
+
-[GitHub Actions](#github-actions)
36
39
21.[Testing](#testing)
37
40
22.[Contributing](#contributing)
38
41
23.[Author](#author)
@@ -169,64 +172,42 @@ You can access the API and test the endpoints directly from the browser. Feel fr
169
172
170
173
The Budget Management API is designed with a microservices architecture, allowing for modular development and deployment. Each service can be developed, deployed, and scaled independently, providing flexibility and resilience.
171
174
172
-
1.**Authentication Service**: Handles user registration, login, and JWT token management.
175
+
1.**Authentication/User Service**: Handles user registration, login, and JWT token management (+ profile management as well).
173
176
2.**Budget Service**: Manages budgets, including creation, updates, and retrieval.
174
177
3.**Expense Service**: Manages expenses associated with budgets, including CRUD operations.
175
178
4.**Customer Service**: Manages customer data, including creation and updates.
176
179
5.**Search Service**: Provides advanced search capabilities using Elasticsearch.
180
+
6.**Order Service**: Manages orders, including creation and updates.
181
+
7.**Transaction Service**: Logs transactions for budgets and expenses.
182
+
8.**Notification Service**: Sends real-time notifications to users via WebSockets.
183
+
9.**Task Management Service**: Handles asynchronous tasks using RabbitMQ and Kafka.
177
184
178
185
This architecture allows for easy integration of additional services, such as order management, task management, and notification services, without affecting the core functionality of the API.
> Each service does not live in its own directory, but rather is organized within the main project structure. This allows for easier management and deployment of the entire application as a single unit, while still maintaining the modularity of the microservices architecture.
> This diagram illustrates the microservices architecture of the Budget Management API, showing how different services interact with each other and external clients. Each service can be independently developed and deployed, allowing for scalability and maintainability.
> This architecture diagram illustrates the modular nature of the Budget Management API, showcasing how different services interact with each other and external clients. Each service can be independently developed and deployed, allowing for scalability and maintainability.
210
+
> This architecture diagram illustrates the modular nature of the Budget Management API, showcasing how different services interact with each other and external clients. It also highlights the use of various technologies such as Docker, Kubernetes, and Nginx for deployment and scaling.
230
211
231
212
## **Project Structure**
232
213
@@ -1035,11 +1016,18 @@ Contributions are welcome! Please fork the repository, create a feature branch,
0 commit comments