Skip to content

fajardm/ewallet-example

Repository files navigation

E-Wallet Example

Table of content:

  1. Description
  2. System Design
  3. Create Container
  4. Testing Using Insomnia

Description

E-Wallet is a system used to store money balances but not real money and use it to facilitate online transactions. In this repository two systems will be distinguished, E-Wallet system and Bank system. E-Wallet system will not record any transactions from bank, vice versa. Users who will make transactions using E-Wallet must register to the system and top up balance through the bank system.

Diagram

System Design

This system developed using Golang and Fiber Web Framework.

Usecase Diagram

Diagram

See the details

Note:

  1. Top up balance from bank system will be simulated using endpoint {{ host }}/api/balances/topup

Database Design

Diagram

Create Container

  1. Copy config.docker.example.yaml to config.yaml then edit the content based on your preferred configuration
  2. Run docker-compose.yaml
docker-compose up --build -d
  1. Open http://localhost:8080
  2. Run migration in container
docker-compose exec api go run script/run_migration/run_migration.go
  1. Run seeder in container
docker-compose exec api go run script/run_seed/run_seed.go

Testing using Insomnia

  1. Import Insomnia.json to your Insomnia app
  2. Change Environment based on your preference

About

E-wallet system example

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published