-Authentication Service (To authenticate)
-Balance Service (To Register an account with balance(coins), Here also you can be create currencies and established their values)
-Payment Service (This service process the payments validate the balance in account of the user and another points)
-Registry-service(Eureka Server)
-Config-server(include the model of .yml file to work with private repository)
-Api-gateway(With the Authenticacion filter for some services)
-Spring boot 3
-Java 17
-Maven
The authentication-service
Managment the users into applications (using JWT), an user can have only ONE balance account (balance-service)
this balance-service will saved an register for each user in this register of balance also saved the currency type and value (of balance account)
While the payment-service register an simulated payment making the substraction to balance-service, also validating the value between currencies
(all endpoints will be available from a service in the next days, after deployment of this application)
1.- Download the source code
2.- Create the auth_db, balance_db and payment_db Schemas in your local environment (you can be use an tool to managment databases graphic way as MysqkWorkbrench)
3.- Configure the file setup of the services(include .yml.example files to guide you)
4.- Create a Config-server repository(here will be all your configuration as jwt-sercret jwt-espiration-time in others), this repository will contains three files (for each service).
5.- When you ended the configuration, you should can start with the launch the project (recommended registry-service, config-server,api-gateway,auth-service, balance-service, payment-service (in order))
6.- Once the project is up and running
7.- You must create an account in http://localhost:9191/api/auth/signup
8.- Also you must create at leats an currency in http://localhost:9191/api/currency
9.- After can create an balance account using the endpoint http://localhost:9191/api/balance (this account will belong to the user autenticAte)
10.- The final test for the process can be make the payment using http://localhost:9191/api/payment(include multiples validations to the make the rigth process)