Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyWallet

MyWallet is a Fintech app for managing users and their respective accounts and wallets.

MyWallet was developed using C# and .Net, and uses an SQL Server database for data persistence, as well as RabbitMQ as a message broker.

Services

The application is divided into three main services.

The Users service, a .NET 8 gRPC service responsible for creating and reading the customers of the system.

The Transactions service, a .NET 8 gRPC service responsible for reading and modifying transactions under a specific account/wallet.
This service also has a background service that consumes messages from RabbitMQ. The background service is mainly used for creating new transactions.

The Accounts service, a .NET 8 Web API service responsible for creating, reading, and modifying accounts and wallets.
The Accounts service communicates with the Users and the Transactions services through gRPC, it also communicates with the Transactions service through RabbitMQ for creating transactions.

Running the Application

To run the application, we will be using a docker compose file to insure isolation and to make sure that all the necessary assets are available regardless of the machine it is running on it.

First we have to make sure that the latest Docker Server is installed on your machine. If it is not installed, we can install it from here: https://docs.docker.com/get-docker/

Once Docker is installed, we can now run the docker compose file. To run the docker compose file, navigate to the root of the solution and then run the following command:

$ docker compose up -d --build

Once all the services are started, we have to wait for 30 seconds for all the required services to be up and running, and then we can start our testing.

Testing the application

MyWallet uses the OpenAPI conventions for the API documentation. Knowing that, we can test the application using the Swagger UI provided.

First we should open our browser and go to the following link: http://localhost:5000/Swagger/index.html.

In the Swagger documentation, we will see three sections, User section, Account section, and the Wallet section, each with its own set of endpoints.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages