Project Structure
Overview
Source code is broken down into several packages:
.
├── cmd # Command-line application, HTTP servers, Web application
├── internal # Private packages and test helpers
└── pkg # Domain packages
cmd
- Command-line application
cmd
└── sparklemuffin
├── command # Command-line application commands and sub-commands (CLI parser)
├── config # Configuration utilities
├── http # HTTP servers: metrics, Web application
├── main.go # Command-line entrypoint
└── version # Version detection utilities
internal
- Application-specific and private packages
internal
├── hash # Cryptographically secure hash helpers
├── paginate # Pagination utilities
├── rand # Cryptographically secure pseudo-random helpers
└── repository
│ └── postgresql # PostgreSQL database persistence layer (repository)
└── test # Helpers for unitary and integration tests
pkg
- Domain packages
pkg
├── bookmark # Web bookmark management
├── feed # Feed subscription management
├── session # User session persistence
└── user # User and permission management