4 Commits (c95eb0280d37557573f91df64e12b82041c01eea)

Author SHA1 Message Date
oabrivard c95eb0280d feat: implement complete microservices architecture with domain logic
- Implemented 6 microservices following Domain Driven Design principles
  - Game Session Service: session management, scoring, state transitions
  - Question Bank Service: CRUD operations, fuzzy answer matching
  - User Service: player profiles, statistics, role management
  - Leaderboard Service: rankings, competitions, tie handling
  - Admin Service: role-based access control, audit logging
  - Gateway Service: authentication, rate limiting, proxying

- Created shared packages for common types, errors, events, valueobjects
- Added comprehensive business rules (30-min sessions, 3 attempts per question)
- Implemented clean architecture with aggregates, value objects, domain services
- Built sophisticated scoring system (2 points no hint, 1 with hint)
- Added fuzzy answer matching with 85% similarity threshold using Levenshtein distance
- Created event-driven patterns for inter-service communication
- Implemented circuit breaker patterns and health checking in gateway
- Added comprehensive validation and error handling across all services

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
4 months ago
oabrivard 201d7d7afa restart from scracth by first tidying the documentation 5 months ago
oabrivard a810d9a530 refactor: use Ent instead of custom database access code and standardize model adapter naming and package structure
- Move adapter functions from database to models package for better organization
- Standardize naming convention: EntToX instead of EntXToCustom for clarity
- Update game service to use new models package import path
- Improve function naming consistency across all adapter functions
- Maintain backward compatibility for existing database operations

Changes:
- backend/services/game-service/internal/services/game.go: Update imports and function calls
- backend/shared/models/adapters.go: Rename functions and move to models package
5 months ago
oabrivard 638e3e2a40 feat: implement complete backend foundation and infrastructure
- Add comprehensive shared authentication system with JWT middleware
- Implement database client with PostgreSQL/SQLite support
- Create Ent schema definitions for game entities (questions, sessions, attempts)
- Add complete utility package with configuration management
- Set up user service with Fiber web framework and health endpoints
- Configure Docker infrastructure with PostgreSQL and multi-service setup
- Add database initialization scripts with sample data
- Implement comprehensive test coverage across all packages
- Set up proper Go module structure with dependency management

This establishes the complete backend foundation for Know Foolery game platform
with authentication, database persistence, and service architecture ready
for Phase 1A implementation.
5 months ago