awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
techschool avatar

techschool/simplebank

0
View on GitHub↗

Simplebank

Simplebank is a financial services backend application built with Go that manages bank accounts and transfers. It utilizes a dual-protocol interface, providing both gRPC and REST APIs via Protocol Buffers to support different client communication requirements.

The system implements a PostgreSQL data layer with versioned schema migrations and type-safe query generation. It handles financial operations through atomic fund transfers and balance change tracking to maintain consistent audit trails.

The architecture includes an asynchronous task worker system using a message queue to offload long-running processes and middleware for token-based user authentication and role-based request authorization. The project also employs interface-based mock injection for unit testing and is packaged for deployment on Kubernetes clusters using containerization.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Bank Account Management - Provides a financial services backend for managing bank accounts and fund transfers.
  • Banking Backends - Provides a complete financial services backend for managing bank accounts and funds transfers.
  • Inter-Account Fund Transfers - Executes the movement of funds between bank accounts using atomic transactions.
  • Balance Tracking - Maintains a complete audit trail by recording every fund addition or subtraction as a distinct entry.
  • PostgreSQL Database Clients - Implements a persistent data layer with connection management and SQL generation for PostgreSQL.
  • Atomic Transactions - Wraps multiple balance updates in atomic transactions to ensure financial consistency and prevent partial updates.
  • Financial Transaction Processing - Implements a system for recording and managing financial payments and account balances.
  • Multi-Protocol Routing - Routes both gRPC and RESTful HTTP requests through a single unified gateway interface.
  • API Gateway - Implements a gateway that maps web requests to both gRPC and HTTP backend service protocols.
  • REST-to-gRPC Gateways - Supports diverse client needs by serving functionality through both gRPC and RESTful HTTP interfaces.
  • Authorization Middleware - Intercepts API calls using middleware to verify security tokens and enforce role-based access controls.
  • Request-Level Role Authorization - Enforces role-based permissions on each API request to block unauthorized actions.
  • Password Hashing Utilities - Uses specialized hashing algorithms to securely transform passwords into irreversible hashes.
  • User Authentication Systems - Implements frameworks for verifying user identity and controlling access to sensitive financial resources.
  • Schema Migration Scripts - Tracks and applies incremental database changes through ordered scripts to synchronize data structures.
  • Database Schema Migrations - Automates the application of versioned updates to database schemas using migration scripts.
  • Type-Safe Database Clients - Generates strongly-typed Go interfaces for database operations to ensure compile-time safety.
  • API Code Generators - Produces server stubs and client libraries from Protocol Buffer interface definitions.
  • Asynchronous Task Processing - Offloads long-running jobs to background workers via a message queue to maintain responsiveness.
  • Application Containerization - Packages binaries and configurations into portable container images for consistent deployment.
  • Kubernetes Application Deployments - Orchestrates the deployment of containerized services and their dependencies on Kubernetes clusters.
  • Kubernetes Application Deployments - Orchestrates the deployment of containerized services to Kubernetes clusters with ingress routing.
  • Message Queue Workers - Offloads time-consuming background tasks to a separate worker system using a message queue.
  • gRPC Code Generators - Automatically generates typed Go code for gRPC clients and servers from .proto files.
  • Go Code Generators - Translates database schemas and raw queries into type-safe Go code to eliminate manual boilerplate.
  • Dual Protocol APIs - Provides an API that is accessible via both gRPC and REST protocols for flexible client integration.
  • Asynchronous Task Queues - Executes long-running processes in the background via a task queue to keep the request loop non-blocking.
  • Interface-Based Test Doubles - Utilizes Go interfaces to inject mock objects for isolated unit testing of business logic.
6,495 stars·1,098 forks·Go·MIT·19 views

Star history

Star history chart for techschool/simplebankStar history chart for techschool/simplebank

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does techschool/simplebank do?

Simplebank is a financial services backend application built with Go that manages bank accounts and transfers. It utilizes a dual-protocol interface, providing both gRPC and REST APIs via Protocol Buffers to support different client communication requirements.

What are the main features of techschool/simplebank?

The main features of techschool/simplebank are: Bank Account Management, Banking Backends, Inter-Account Fund Transfers, Balance Tracking, PostgreSQL Database Clients, Atomic Transactions, Financial Transaction Processing, Multi-Protocol Routing.

Which projects share features with techschool/simplebank?

Projects with overlapping indexed features include: miguelgrinberg/microblog — This project is a social blogging application built with Flask. It provides a platform for user account management,… vendurehq/vendure — Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as… simolus3/drift — Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database… bigcapitalhq/bigcapital — Big Capital is a cloud accounting management system designed to track assets, liabilities, and equity through a… mystenlabs/sui — Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It… akaunting/akaunting — Akaunting is a modular business enterprise resource planning system and self-hosted accounting software. It provides a…

Projects sharing features with Simplebank

These projects share indexed features with Simplebank. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • miguelgrinberg/microblogmiguelgrinberg avatar

    miguelgrinberg/microblog

    4,771View on GitHub↗

    This project is a social blogging application built with Flask. It provides a platform for user account management, following relationships, and chronological post streams, supported by a PostgreSQL relational database. The application features a multilingual web interface with localized content and date formatting. It is designed as a dockerized web application, utilizing containerization for consistent deployment across different environments. The system integrates a variety of core capabilities, including full-text search with provider abstraction, an asynchronous task worker for backgrou

    Pythonflaskpythonwebapp
    View on GitHub↗4,771
  • vendurehq/vendurevendurehq avatar

    vendurehq/vendure

    7,924View on GitHub↗

    Vendure is a Node.js e-commerce engine and headless commerce framework built with NestJS and TypeScript. It serves as a multi-channel commerce platform that manages product catalogs, orders, and customers via a strongly typed GraphQL API. The platform is distinguished by its highly extensible architecture, featuring a customizable administrative dashboard where developers can inject custom React components and entity views. It supports multi-channel commerce, allowing the isolation of products, currencies, and regional catalogs from a single unified backend. The engine covers a broad range o

    TypeScriptecommerceecommerce-apiecommerce-framework
    View on GitHub↗7,924
  • simolus3/driftsimolus3 avatar

    simolus3/drift

    3,231View on GitHub↗

    Drift is a type-safe SQL persistence library and relational mapper that provides a structured way to map database tables to classes and execute SQL queries with build-time validation. It functions as a type-safe query builder and a wrapper for SQLite and PostgreSQL, eliminating manual result set parsing by binding query outputs to native objects. The project distinguishes itself through a build-time code generation system that produces type-safe APIs and validates raw SQL statements against database versions before execution. It features reactive query streaming, which transforms SQL queries

    Dartdartdart-build-systemflutter
    View on GitHub↗3,231
  • bigcapitalhq/bigcapitalbigcapitalhq avatar

    bigcapitalhq/bigcapital

    3,537View on GitHub↗

    Big Capital is a cloud accounting management system designed to track assets, liabilities, and equity through a digital ledger. It provides a multi-tenant organizational framework that supports multi-branch tracking and regional currency settings. The system distinguishes itself through integrated bank feed management, utilizing secure token exchanges and webhook processing for automated transaction synchronization and rule-based categorization. It also features a multi-currency ledger that handles base currency conversions and specific currency codes. The platform covers comprehensive finan

    TypeScriptaccountingbillsdouble-entry-accounting
    View on GitHub↗3,537
Compare all 30 related projects→