Skip to content

ranjitkokare/expense-manager-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExpenseManager API

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.

Features

  • 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.

Technology Stack

  • 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

Getting Started

To get a local copy up and running follow these steps:

  1. Clone the repository:
    git clone https://github.com/ranjitkokare/expense-manager-API.git

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages