- Implement REST API
- Complete database interaction with the domain model
- Create, Deposit, Withdraw, Wallet to Wallet transactions and list all wallets
- Run with Dockerfile or Docker-Compose
- Basic endpoint authorization with JWT token mechanism
- Java
- Spring Boot
- Maven
- MySQL
- Spring Secuirty with JWT
- Docker
-
By using Dockerfile
docker network create wallet-mysql
docker run -p3306:3306 --name mysqldb --network wallet-mysql -e MYSQL_ROOT_PASSWORD=Stl@123456 -e MYSQL_DATABASE=ewalletdb -d mysql:8
docker build -t app .
docker run -p8080:8080 --name app --net wallet-mysql -e MYSQL_HOST=mysqldb -e MYSQL_USER=root -e MYSQL_PASSWORD=Stl@123456 -e MYSQL_PORT=3306 app
-
By using docker compose
docker compose up .
After run the application please execute the following SQL queries before accessing the APIs. Which will create both user roles in the database.
INSERT INTO ewalletdb.roles(name) VALUES('ROLE_USER');
INSERT INTO ewalletdb.roles(name) VALUES('ROLE_ADMIN');
-
Demonstrate 3 types of users (admin, user & any)
-
SignUp & SignIn
-
Wallet APIs