E-Wallet API


This is a RESTful API of E-Wallet project. This project was built with golang, postgreSQL, and JWT authentication and implement clean architecture.


  1. General Features
  2. Authentication and Authorization
  3. List of Transactions
  4. Top Up
  5. Transfer
  6. User Details
  7. Database SQL
  8. Unit Testing
  9. API documentation

Database Design


How To Run This Project

Make Sure you have installed postgreSQL, Docker, and Make

Run the Applications

Here is the steps to run it with docker

#move to directory
$ cd workspace
# Clone the project
$ git clone https://git.garena.com/sea-labs-id/batch-02/aulia-nabil/assignment-05-golang-backend.git
#move to project
$ cd assignment-05-golang-backend
# Create the database and running the seeder
$ make db
# setup .env file
$ cp env.example .env
# Build the docker image first
$ make image
# Run the application
$ make run
# check if the containers are running
$ docker ps
# Stop
$ make stop

Run Application For Development

$ make dev

Run the Testing

$ make test

User Credentials

        "email": "[email protected]",
        "password": "12345",
        "email": "[email protected]",
        "password": "12345",
        "email": "[email protected]",
        "password": "12345",
        "email": "[email protected]",
        "password": "12345",
        "email": "[email protected]",
        "password": "12345",

Tools Used:

In this project, I use some tools listed below. But you can use any simmilar library that have the same purposes. But, well, different library will have different implementation type.


View Github