✨ Major Features Added: - Complete magical theming and rebranding from LifeRPG to The Wizard's Grimoire - Production-grade React frontend with Tailwind CSS v4 and magical aesthetics - Comprehensive analytics dashboard with Recharts integration (ScryingPortal) - Push notifications system with PWA service worker support - Drag & drop functionality using @dnd-kit for habit reordering - Social features with friends system and leaderboards - Performance optimization tools and monitoring - Mobile app enhancement with PWA installation support 🏗️ Technical Infrastructure: - Advanced service worker with offline support and background sync - Zustand state management for scalable application state - Production-ready UI component system with enhanced Button, Card, Input - Progressive Web App (PWA) with manifest and app installation - FastAPI backend with comprehensive API endpoints - Docker containerization and CI/CD pipeline setup 📱 Progressive Web App Features: - Offline functionality with intelligent caching - Push notification support for habit reminders - App installation on mobile and desktop platforms - Background sync for offline data management - Performance monitoring and optimization tools 🎨 User Experience: - Magical wizard/grimoire theming throughout application - Responsive design optimized for all device sizes - Drag & drop habit management with smooth animations - Interactive analytics with multiple chart types - Social connectivity with friends and competitive features - Comprehensive notification and performance settings 🔧 Developer Experience: - Modern development stack with Vite and React - Comprehensive testing setup and CI/CD pipelines - Code quality tools with pre-commit hooks - Docker development environment - Detailed documentation and implementation guides This represents a complete transformation from prototype to production-ready application with enterprise-grade features and magical user experience.
1.6 KiB
1.6 KiB
Database migrations (Alembic)
This project includes SQLAlchemy models and tests. For dev, the app creates tables automatically. For production, use Alembic migrations.
Example commands:
# generate (after editing models)
alembic -c backend/alembic.ini revision --autogenerate -m "your message"
# upgrade
alembic -c backend/alembic.ini upgrade head
Observability notes:
- Logs: The backend emits structured JSON logs to stdout (type=request/job). To view in Grafana logs panel, ship logs to Loki and label them with job="liferpg". Update the dashboard datasource UID if needed and the query accordingly.
- Metrics: New counter integration_sync_by_integration_total exposes per-integration results. Ensure your Prometheus datasource is set as PROM_DS in the dashboard.
- Rate limiting: Set REDIS_URL to enable distributed per-IP limiter.
Promtail example:
- See
ops/promtail-config.ymlfor a basic config. Pointclients[0].urlto your Loki. Mount your app logs path to/var/log/liferpgor use the Docker containers json logs path as included.
# The Wizard's Grimoire - Modern Implementation
This folder contains the modern implementation of The Wizard's Grimoire, transforming daily habits into magical practices.
What is included:
- `backend/` - FastAPI-based spellcasting API with mystical energy tracking
- `frontend/` - React application themed as a magical grimoire
- `ROADMAP.md` - prioritized milestones for magical enhancement
- Dockerfile and docker-compose for local development
Next steps:
- Replace backend with FastAPI and add DB/ORM/migrations
- Implement OAuth2 and integrations adapters
- Expand frontend with components and theming