e87b7df979da70f52cbc993b6c9c3bd0d217dfac
Update module name and all imports from habit-tracker-api to apocapoc-api. This reflects the project's new branding as part of the apocapoc ecosystem (apocapoc-api, apocapoc-web, apocapoc-android).
Apocapoc
Self-hosted habit tracking service with a clean, hexagonal architecture.
Features
- Multiple habit types: Boolean (check), Counter, Value
- Flexible scheduling: Daily, Weekly, Monthly with specific days
- Carry-over support: Choose if incomplete habits persist or expire
- Full history tracking: Complete audit trail of all interactions
- Charts & Analytics: Heatmaps, line charts, and statistics
- Self-hosted first: Easy deployment with SQLite or PostgreSQL
Quick Start
Using the binary
- Download the latest release
- Copy
.env.exampleto.envand configure - Run:
./apocapoc-api
The API will be available at http://localhost:8080
Development
Prerequisites
- Go 1.23+
- SQLite (or PostgreSQL)
Running locally
cp .env.example .env
go run cmd/api/main.go
API Documentation
Once running, visit http://localhost:8080/api/v1/docs for interactive API documentation.
Architecture
This project follows hexagonal (ports & adapters) architecture:
domain/: Core business logic and entitiesapplication/: Use cases (commands & queries)infrastructure/: External adapters (database, HTTP, etc.)shared/: Common utilities and errors
License
MIT
Languages
Go
99.5%
HTML
0.4%