github.com/paulwerner/bookkeeper@v0.1.0/README.md (about)

     1  # bookkeeper
     2  
     3  This repository contains a web service example implementation build with golang using gofiber showing basic use cases. 
     4  
     5  ## Architecture
     6  It leverages a clean architecture with the following layers:
     7  
     8  - domain: contains the domain entities
     9  - uc: contains the use cases
    10  - store: handles persistence
    11  - router: handles API requests
    12  
    13  The architecture requires that the first 2 layers model the pure business logic without any external dependencies. 
    14  The required functionality for storing and access is provided by the 3rd and 4th layer implementing the interfaces (Dependency Inversion Principle).
    15  
    16  ## Features
    17  - clean architecture
    18  - JWT Authentication
    19  - Web API
    20  - connection to PostgreSQL database
    21  - migration with gomigrate
    22  - testcontainers for integration tests
    23  - Docker support
    24  
    25  ## Improvements
    26  - add documentation
    27  - add database transaction handling to use cases where appropriate
    28  - add/improve test cases
    29  
    30  ## Inspired by
    31  - https://github.com/err0r500/go-realworld-clean/