This is an account management application built with Spring Boot. It allows users to perform various operations related to managing accounts, such as opening accounts, depositing funds, withdrawing funds, and checking balance.
- Open Account: User can open a new account, which generates a unique account ID.
- Deposit Funds: User can deposit funds into their account.
- Withdraw Funds: User can withdraw funds from their account.
- Check Balance: User can check the balance of their account.
- Java Spring Boot Framework
- Swagger for API documentation
- JUnit and Mockito for unit testing
- Maven for project management
- Postman for API testing
- Clone the repository:
git clone https://github.com/monicagobran/account-management-app.git
- Navigate to the project folder:
cd account-management-app
- Build and run the project:
mvn spring-boot:run
- Once the application is running, you can access the API documentation using Swagger UI at
http://localhost:8080/swagger-ui.html
.
- Clone the repository:
git clone https://github.com/monicagobran/account-management-app.git
- Navigate to the project folder:
cd account-management-app
- Build a docker image:
docker build -t account-management-app .
- Run the docker container
docker run -p 8080:8080 account-management-app
- Once the container is running, you can access the API documentation using Swagger UI at
http://localhost:8080/swagger-ui.html
- POST /account: Open a new account.
- POST /account/{accountId}/deposit: Deposit funds into an account.
- POST /account/{accountId}/withdraw: Withdraw funds from an account.
- GET /account/{accountId}/balance: Check the balance of an account.
- Persistent Database: Consideration of switching to a more robust and scalable database solution for production environments, such as PostgreSQL or MySQL.
- Security: Implementation of authentication and authorization mechanisms to secure API endpoints and protect sensitive data.