Skip to content

This is a RESTful API of E-Wallet project made with golang.

Notifications You must be signed in to change notification settings

BrondoL/e-wallet-api

Repository files navigation

E-Wallet API

Description

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

Features

  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

e-wallet-ERD

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.

About

This is a RESTful API of E-Wallet project made with golang.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages