awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
techschool avatar

techschool/simplebank

0
View on GitHub↗
6,495 Stars·1,098 Forks·Go·MIT·3 Aufrufe

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.

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.

Star-Verlauf

Star-Verlauf für techschool/simplebankStar-Verlauf für techschool/simplebank

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht techschool/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.

Was sind die Hauptfunktionen von techschool/simplebank?

Die Hauptfunktionen von techschool/simplebank sind: Bank Account Management, Banking Backends, Inter-Account Fund Transfers, Balance Tracking, PostgreSQL Database Clients, Atomic Transactions, Financial Transaction Processing, Multi-Protocol Routing.

Welche Open-Source-Alternativen gibt es zu techschool/simplebank?

Open-Source-Alternativen zu techschool/simplebank sind unter anderem: 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…

Open-Source-Alternativen zu Simplebank

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Simplebank.
  • miguelgrinberg/microblogAvatar von miguelgrinberg

    miguelgrinberg/microblog

    4,771Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,771
  • vendurehq/vendureAvatar von vendurehq

    vendurehq/vendure

    7,924Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗7,924
  • simolus3/driftAvatar von simolus3

    simolus3/drift

    3,231Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗3,231
  • bigcapitalhq/bigcapitalAvatar von bigcapitalhq

    bigcapitalhq/bigcapital

    3,537Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗3,537
Alle 30 Alternativen zu Simplebank anzeigen→