This is a Spring Boot based digital wallet application that uses MongoDB as the database. The application allows users to create and manage their digital wallet, add funds to it, and make transactions.
Built with Spring Boot, secured with Spring Security (JWT), documented with Swagger (API), containerized with Docker, deployed on an AWS EC2 instance.
- BackendServices
Language: Java
Build system: Maven
JDK version: 11
Spring boot version: 2.76
Memcached
MongoDB
- Ensure you have docker installed and running on the machine/server you want to run this service on
- Simply download the Docker compose file
- You can edit the file to your custom configurations
- Then navigate to where the file is located on your terminal and run 'docker compose up'
- VoilĂ ! once the images downloads are completed and the application is running, you can then visit http://localhost:8083/swagger-ui/index.html to access the end points
- Ensure Memcached is installed and running on your machine before you run this service.
- Clone the repository: git clone https://github.com/Austinuc/E-Wallet-API-with-SpringBoot-and-MongoDB.git
- Build the project using maven: mvn clean install
- Run the application: mvn spring-boot:run
The application exposes a RESTful API for creating and managing digital wallets. Use the following link to access the exposed API doc when the application is running on your local machine: http://localhost:8083/swagger-ui/index.html
Uses Spring Security with JWT for stateless authentication and authorization.
The application uses MongoDB as the database. The server is configured to run on port 8083 which can be changed in the application.properties file.
The database, email and all configurations can be set in the application.properties file.
For security purpose, please make sure to set appropriate access controls for MongoDB.
The application can be deployed on any Java Servlet container, or docker containers.
For any issues or queries, please raise a ticket on the GitHub repository or email me on austin5astro@gmail.com.