This project is a comprehensive learning application built with Flutter for the frontend and Python FastAPI with Neo4j for the backend. The app features multiple modules focused on personal productivity, learning management, and self-regulation.
- Task creation, editing and tracking
- Energy-based task categorization
- Task completion metrics and analytics
- Time blocking integration with calendar
- Topic management with spaced repetition system
- Learning stages tracking (first_time, early_stage, mid_stage, late_stage, mastered)
- Knowledge graph visualization
- Session planner for optimized study sessions
- Educational content system
- Energy level tracking
- Focus sessions
- Habit building
- Reflection journal
- Mood and motivation tracking
- Uses Provider pattern for state management
- SQFLite for local storage and offline functionality
- Design follows a dark theme with purple accent colors
- Custom UI components for specialized views (dashboards, charts, etc.)
- FastAPI for RESTful API endpoints
- Neo4j graph database for storing topics, relationships, and content
- Day spacing algorithm for spaced repetition learning
- Analytics processing for user progress metrics
- Supports multiple content types:
- Articles (markdown formatted)
- Interactive guides (step-by-step)
- Self-assessment quizzes
- Content is linked to topics for contextual learning
- Custom viewers for each content type
- Knowledge Graph: Visual representation of learning topics and their relationships
- Spaced Repetition: Intelligent scheduling of topic reviews based on difficulty feedback
- Session Planning: Creates optimized study sessions based on energy levels and topic relationships
- Progress Visualization: Comprehensive charts and metrics for tracking learning progress
- Sync System: Offline-first architecture with background synchronization
- Calendar Integration: Supports both ICS and Google Calendar integration
- Flutter SDK (latest stable version)
- Python 3.13+
- Neo4j database
- Clone the repository:
git clone https://github.com/DigitalDemi/Project-X.git
- Install frontend dependencies:
cd frontend
flutter pub get
- Install backend dependencies:
cd backend
pip install -e .
-
Configure database connection: Edit the Neo4j connection details in
backend/database.py -
Start the backend server:
uvicorn backend.backend:app --reload
- Run the Flutter app:
cd frontend
flutter run
/frontend: Flutter application/lib/models: Data models/lib/services: Service classes for API and local storage/lib/ui: UI components and screens
/backend: Python API serverbackend.py: Main API endpointsdatabase.py: Neo4j connection and queriesday_spacing_algorithm.py: Spaced repetition algorithm
- Enhanced analytics and recommendations
- More content types (video, audio, interactive exercises)
- Machine learning integration for personalized learning paths
- Community features and content sharing
- Extended mobile platform support
- Digital Demi (Project Lead)