4d5652a5a4
- Add MIT License (Copyright 2025 David Folch Agulles) - Add README with project description - Add .gitignore for Go project - Add .env.example for configuration - Initialize Go module
1.2 KiB
1.2 KiB
Habit Tracker API
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:
./habit-tracker-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