A production-ready REST API for managing expenses, built with Spring Boot, Spring Security, Data JPA, JWT, and MySQL. This project includes secure user authentication, database operations, and advanced security measures, all integrated with comprehensive documentation and testing tools.
- Complete REST API: Designed and implemented a full-featured API to manage expenses, users, and related entities.
- User Authentication: Secure authentication using JWT and Spring Security.
- Entity Mapping: Efficient mapping between entities, including:
- One-to-One mapping
- One-to-One bi-directional mapping
- One-to-Many mapping
- One-to-Many bi-directional mapping
- Custom Exceptions: Developed robust error handling with custom exceptions.
- Query Methods: Filter and retrieve records using JPA query methods.
- Code Quality: Enhanced with Lombok for reduced boilerplate code.
- API Documentation: Integrated Swagger for clear and accessible API documentation.
- Testing: Comprehensive testing using Postman with advanced features.
- Deployment: Deployed on Heroku and AWS; Dockerized for scalable deployments.
- Database Integration:
- MySQL for primary storage.
- MongoDB integration for extended features.
- Connected with MongoDB Atlas for production readiness.
- Backend: Java, Spring Boot, Spring Security, Spring Data JPA, Lombok
- Security: JWT (JSON Web Token), BCrypt
- Database: MySQL, MongoDB, MongoDB Atlas
- Deployment: AWS, Docker
- Testing: Postman
To get a local copy up and running follow these steps:
- Clone the repository:
git clone https://github.com/ranjitkokare/expense-manager-API.git