awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
techschool avatar

techschool/simplebank

0
View on GitHub↗
6,495 stele·1,098 fork-uri·Go·MIT·3 vizualizări

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.

Istoric stele

Graficul istoricului de stele pentru techschool/simplebankGraficul istoricului de stele pentru techschool/simplebank

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face 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.

Care sunt principalele funcționalități ale techschool/simplebank?

Principalele funcționalități ale techschool/simplebank sunt: Bank Account Management, Banking Backends, Inter-Account Fund Transfers, Balance Tracking, PostgreSQL Database Clients, Atomic Transactions, Financial Transaction Processing, Multi-Protocol Routing.

Care sunt câteva alternative open-source pentru techschool/simplebank?

Alternativele open-source pentru techschool/simplebank includ: 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…

Alternative open-source pentru Simplebank

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Simplebank.
  • miguelgrinberg/microblogAvatar miguelgrinberg

    miguelgrinberg/microblog

    4,771Vezi pe 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
    Vezi pe GitHub↗4,771
  • vendurehq/vendureAvatar vendurehq

    vendurehq/vendure

    7,924Vezi pe 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
    Vezi pe GitHub↗7,924
  • simolus3/driftAvatar simolus3

    simolus3/drift

    3,231Vezi pe 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
    Vezi pe GitHub↗3,231
  • bigcapitalhq/bigcapitalAvatar bigcapitalhq

    bigcapitalhq/bigcapital

    3,537Vezi pe 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
    Vezi pe GitHub↗3,537
  • Vezi toate cele 30 alternative pentru Simplebank→