✨ 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.
64 lines
2.1 KiB
YAML
64 lines
2.1 KiB
YAML
name: CI
|
|
on: [push, pull_request]
|
|
jobs:
|
|
test-sqlite:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check Python syntax
|
|
run: python -m py_compile modern/backend/*.py
|
|
- name: Install dependencies
|
|
run: python -m pip install -r modern/backend/requirements_full.txt
|
|
- name: Run migrations and tests (sqlite)
|
|
run: |
|
|
export DATABASE_URL=sqlite:///./modern/ci_test.db
|
|
alembic -c modern/alembic.ini upgrade head
|
|
PYTHONPATH=. pytest -q
|
|
|
|
test-postgres:
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
postgres:
|
|
image: postgres:15
|
|
env:
|
|
POSTGRES_PASSWORD: postgres
|
|
ports:
|
|
- 5432:5432
|
|
options: >-
|
|
--health-cmd "pg_isready -U postgres" --health-interval 10s --health-timeout 5s --health-retries 5
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check Python syntax
|
|
run: python -m py_compile modern/backend/*.py
|
|
- name: Install dependencies
|
|
run: python -m pip install -r modern/backend/requirements_full.txt
|
|
- name: Run migrations and tests (postgres)
|
|
run: |
|
|
export DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres
|
|
alembic -c modern/alembic.ini upgrade head
|
|
PYTHONPATH=. pytest -q
|
|
|
|
test-mysql:
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
mysql:
|
|
image: mysql:8
|
|
env:
|
|
MYSQL_ROOT_PASSWORD: root
|
|
MYSQL_DATABASE: test
|
|
ports:
|
|
- 3306:3306
|
|
options: >-
|
|
--health-cmd "mysqladmin ping -h localhost -uroot -proot" --health-interval 10s --health-timeout 5s --health-retries 5
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check Python syntax
|
|
run: python -m py_compile modern/backend/*.py
|
|
- name: Install dependencies
|
|
run: python -m pip install -r modern/backend/requirements_full.txt
|
|
- name: Run migrations and tests (mysql)
|
|
run: |
|
|
export DATABASE_URL=mysql+pymysql://root:root@localhost:3306/test
|
|
alembic -c modern/alembic.ini upgrade head
|
|
PYTHONPATH=. pytest -q
|