Skip to content

🏦 A robust πŸš€ Go-based banking application featuring CRUD operations, ACID compliance, πŸ§ͺ unit testing, CI with GitHub Actions, and 🐳 Docker support for seamless database management and migration.

Notifications You must be signed in to change notification settings

harbouli/simple-bank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Simple Bancking Application with GO

BankApp is a simple banking application developed in Go, designed to demonstrate basic CRUD operations with an emphasis on maintaining ACID properties. It showcases best practices in application development, including unit testing, continuous integration with GitHub Actions, and containerization with Docker for easy database setup and migration. Project Thumbnail

Features

  • CRUD Operations: Manage bank accounts, including creating, reading, updating, and deleting account information.
  • ACID Properties: Ensures database transactions are processed reliably, maintaining the integrity of the database.
  • Unit Testing: Comprehensive unit tests to ensure application logic is correct and robust.
  • GitHub Actions: Automated workflows for continuous integration, running tests, and ensuring code quality.
  • Docker Integration: Simplifies database creation and migration, ensuring a consistent environment for development and production.

Getting Started

Prerequisites

Installation

Clone the repository:

git clone https://github.com/harbouli/simple-bank.git
cd simple-bank

Install dependencies:

go mod tidy

Development Setup

Use the Makefile commands to manage the PostgreSQL database via Docker, handle database migrations, and generate database code.

make postgres # Start the PostgreSQL container
make createdb # Create the database
make dropdb # Drop the database
make migrateup # Apply database migrations
make migratedown # Revert database migrations
make sqlc # Generate SQL code

Usage

Provide examples of how to use your application, including any CLI commands or endpoints to test the CRUD operations.

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests.

About

🏦 A robust πŸš€ Go-based banking application featuring CRUD operations, ACID compliance, πŸ§ͺ unit testing, CI with GitHub Actions, and 🐳 Docker support for seamless database management and migration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published