Commit Graph

7 Commits

Author SHA1 Message Date
Jakub Zych
7b5fe94e53 feat(01): Simple initial landing 2026-02-05 13:01:34 +01:00
Jakub Zych
12e738f1b5 feat(01-03): create Repository pattern with typed errors
- Add User domain model (summer_users table mapping)
- Add RepositoryError ADT (NotFound, Conflict, ValidationError, DatabaseError)
- Implement UserRepository trait with CRUD operations
- Add UserRepositoryLive using Quill with compile-time SQL validation
- Handle SQL exceptions with refineOrDie for typed error channel
2026-02-04 22:41:11 +01:00
Jakub Zych
0059add4a1 feat(01-02): add /ready endpoint with database connectivity check
- Add GET /ready endpoint that checks database connection
- Returns 200 'ready' when connected, 503 when not
- Update Routes to require DataSource dependency
- Provide dataSourceLayer in Main.scala
- Use 'hikari' prefix for HikariCP config to avoid ZIO config conflict
2026-02-04 22:20:35 +01:00
Jakub Zych
ddb1964d1a feat(01-02): create Flyway migrator service and initial migration
- Add Migrator trait with migrate/status ZIO effects
- Create V1 migration for summer_users table
- Configure Flyway with summer_migrations table and classpath location
- Migrations run manually via CLI, not on startup
2026-02-04 22:13:03 +01:00
Jakub Zych
106e66413e feat(01-02): create Quill PostgreSQL context with ZIO integration
- Add QuillContext with dataSourceLayer and quillLayer
- Update application.conf for HikariCP-compatible format
- Export combined quillLive layer for database access
2026-02-04 22:00:33 +01:00
Jakub Zych
3757cf883b feat(01-01): create HTTP routes and Main entry point
- HealthRoutes with GET /health returning 'ok'
- Routes composition point for all route modules
- Main extends ZIOAppDefault with HOCON config
- ASCII sun banner with SUMMERCMS branding
- Server reads port from application.conf
2026-02-04 21:43:24 +01:00
Jakub Zych
4278b84614 feat(01-01): create configuration infrastructure
- AppConfig, ServerConfig, DatabaseConfig case classes
- zio-config-magnolia for automatic Config derivation
- HOCON application.conf with env variable overrides
- Server: host/port with SERVER_HOST/SERVER_PORT overrides
- Database: host/port/database/user/password with DB_* overrides
2026-02-04 21:39:44 +01:00