ExpenSmart is an Expense Manager API developed using Spring Boot. It provides a set of RESTful APIs for managing expenses, including functionalities for user registration, authentication using JWT, and various operations related to expense management.
- GitHub Repository Link: ExpenSmart GitHub
- Spring Boot: Backend development framework
- MySQL: Database management
- JWT (JSON Web Tokens): User authentication and authorization
- User registration with roles (admin, editor, etc.) and authorization using JWT.
- RESTful APIs for managing expenses, including CRUD operations.
- Filtering expenses by category, name, and date range.
-
Authentication
POST /api/v1/register
: User registrationPOST /api/v1/login
: User loginDELETE /api/v1/logout
: User logout
-
Expense Management
GET /api/v1/expenses
: Get all expensesGET /api/v1/expenses/{id}
: Get expenses by IDPUT /api/v1/expenses/{id}
: Update an expenseDELETE /api/v1/expenses?id={value}
: Delete expense by IDPOST /api/v1/expenses
: Save a new expenseGET /api/v1/expenses/category?category={value}
: Read expenses by categoryGET /api/v1/expenses/expenses/name?keyword={value}
: Get expenses by nameGET /api/v1/expenses/expenses/date?startDate={date}&endDate={date}
: Get expenses by date range
To get started with ExpenSmart, follow these steps:
- Clone the project repository from GitHub.
- Set up a MySQL database and configure the database connection in
application.properties
. - Build and run the project using Maven or your preferred IDE.
- Access the APIs using the provided endpoints.
Contributions to ExpenSmart are welcome! If you'd like to contribute to the project, please follow our Contribution Guidelines.
This project is licensed under the MIT License. See the LICENSE file for details.