Update ℹ️: I added my work log to the home page.

Bankie.go

MacBobby Chibuzor
Bankie.go
Table of Contents

Description

Bankie.go is a simple banking application built with Go programming language. It provides basic banking functionalities such as creating accounts, making deposits and withdrawals, and transferring funds between accounts.

Features

Account Management: Users can create new bank accounts and manage their existing accounts. Deposits and Withdrawals: Users can deposit money into their accounts or make withdrawals. Fund Transfers: Users can transfer funds from one account to another. Transaction History: The application maintains a transaction history for each account, allowing users to track their transactions. Installation Bankie.go can be installed using one of the following methods:

Installation with Makefile

To run Bankie.go using the Makefile, make sure you have Go and Make installed on your system. Then, follow these steps:

  1. Clone the repository:
git clone https://github.com/theghostmac/bankie.go.git
  1. Navigate to the project directory:
    cd bankie.go
    
  2. Start the PostgreSQL repository by running the Docker installation below, in another terminal. To start Bankie any time, run:
     docker start bankie
    
  3. Build and run the application using the Makefile:
    make run
    

Installation with Docker

To run Bankie.go using Docker, make sure you have Docker installed on your system. Then, follow these steps:

  1. Clone the repository:
    git clone https://github.com/theghostmac/bankie.go.git
    
  2. Navigate to the project directory:
    cd bankie.go
    
  3. Build the Docker image:
    docker build -t bankie .
    
  4. Run the Docker container:
    docker run -p 8080:8080 bankie
    

Installation by Cloning the Repository

To run Bankie.go by cloning the repository, make sure you have Go installed on your system. Then, follow these steps:

  1. Clone the repository:

    git clone https://github.com/theghostmac/bankie.go.git
    
  2. Navigate to the project directory:

    cd bankie.go
    
  3. Build the application:

    go build
    
  4. Run the application:

    ./bankie.go
    

Usage

Once the application is running, you can interact with it using a RESTFul API. The following endpoints are available:

  1. POST /accounts: Create a new bank account. Provide the account holder’s name and an initial deposit amount.
  2. GET /accounts/:id: Retrieve information about a specific account.
  3. POST /accounts/:id/deposit: Make a deposit to a specific account. Provide the deposit amount.
  4. POST /accounts/:id/withdraw: Make a withdrawal from a specific account. Provide the withdrawal amount.
  5. POST /accounts/:id/transfer: Transfer funds from one account to another. Provide the recipient account ID and the transfer amount.
  6. GET /accounts/:id/transactions: Retrieve the transaction history of a specific account. Make sure to replace :id with the actual account ID in the endpoint URLs.

Contributing

Contributions to Bankie.go are welcome! If you find any issues or would like to add new features, please feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License.

Related Posts

Blockchain Foundations: 1
Blockchain

Blockchain Foundations: 1

MacBobby Chibuzor May 13, 2024

What is a blockchain Technical definition A blockchain is a distributed ledger with growing lists of records (blocks) that are securely linked together via cryptographic hashes .

Read More
Designing Fallback Systems
Best practices

Designing Fallback Systems

MacBobby Chibuzor Mar 14, 2024

A little backstory While working on a backend for an uprising startup product a while back, I had to use a FinTech’s API for providing bank accounts to prospective users.

Read More
How to build an Application with modern Technology
Software

How to build an Application with modern Technology

John Doe Apr 4, 2022

Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat.

Read More