Project Structure
Overview
The Go source code is broken down into several top-level packages:
.
├── cmd # Command-line 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
└── main.go # Command-line entrypoint
internal
- Application-specific and private packages
internal
├── hash # Cryptographically secure hash helpers
├── http # HTTP servers: metrics, Web application
├── paginate # Pagination utilities
├── rand # Cryptographically secure pseudo-random helpers
├── repository
│ └── postgresql # PostgreSQL database persistence layer (repository)
├── test # Helpers for unitary and integration tests
└── version # Version detection utilities
pkg
- Domain packages
pkg
├── bookmark # Web bookmark management
├── feed # Feed subscription management
├── session # User session persistence
└── user # User and permission management