A comprehensive Flutter-based cognitive assessment platform built on Piaget's theory of cognitive development. This system enables teachers and administrators to assess students' cognitive stages, track progress, and manage educational workflows.
MindTrack is a full-featured educational assessment platform that:
- Evaluates students based on Piaget's cognitive development stages
- Provides role-based access for Students, Teachers, and Administrators
- Tracks individual student progress over time
- Enables class management and student assignment
- Generates detailed assessment reports with developmental recommendations
- Take adaptive cognitive assessments
- View personal progress and assessment history
- Track current cognitive stage and average scores
- Age-appropriate question generation
- Real-time feedback and results
- Manage assigned students
- Create and organize classes
- Browse all students with multi-select capabilities
- View detailed student progress and assessment results
- Assign students to classes
- Track class performance metrics
- Complete system oversight dashboard
- User management (Students, Teachers, Admins)
- View system-wide statistics
- Toggle user active status
- Delete users
- Access all assessment data
- Monitor platform usage
- Frontend: Flutter 3.8.1+
- Backend: Supabase (PostgreSQL)
- Authentication: Supabase Auth with PKCE flow
- State Management: Provider
- AI Integration: Groq API (Llama models)
- Database: PostgreSQL with Row Level Security (RLS)
- Storage: Supabase Storage (for profile images)
lib/
βββ models/ # Data models (User, Assessment, Question)
βββ providers/ # State management (Auth, Assessment)
βββ screens/
β βββ auth/ # Login, Signup screens
β βββ dashboard/ # Role-based dashboards (Admin, Teacher, Student)
β βββ teacher/ # Teacher-specific screens (Classes, Student Browser)
βββ services/ # Supabase service, API integrations
βββ widgets/ # Reusable UI components
βββ utils/ # Helper functions, constants
- Flutter SDK (3.8.1 or higher)
- Dart SDK (3.0.0 or higher)
- Supabase account
- Groq API key (for AI-powered assessments)
-
Clone the repository
git clone https://github.com/Tahsan0619/piaget.git cd piaget -
Install dependencies
flutter pub get
-
Configure environment variables
Create
.envfile in the root directory:SUPABASE_URL=your_supabase_url SUPABASE_ANON_KEY=your_supabase_anon_key GROQ_API_KEY=your_groq_api_key
-
Run the database schema
Execute the SQL schema in your Supabase SQL Editor (available in project documentation)
-
Create admin account
In Supabase Dashboard β Authentication β Users:
- Create user with email:
admin@gmail.com - Set password:
admin000 - Auto-confirm the user
- Create corresponding admin profile in database (see setup documentation)
- Create user with email:
-
Run the application
flutter run
Admin Account:
- Email:
admin@gmail.com - Password:
admin000
Note: Change these credentials after first login for security.
The system assesses students across Piaget's four cognitive development stages:
- Sensorimotor (0-2 years)
- Preoperational (2-7 years)
- Concrete Operational (7-11 years)
- Formal Operational (11+ years)
- β Fixed Row Level Security (RLS) policies using SECURITY DEFINER functions
- β Resolved infinite recursion issue in admin authentication
- β Implemented comprehensive RLS policies for all 7 database tables
- β
Added
get_user_role()function to safely bypass RLS for role checks
- β Updated admin dashboard tab bar with modern pill-style indicator
- β Grey container background with shadow effects matching login page
- β Responsive card layouts with proper overflow handling
- β Enhanced stat cards with emoji indicators
- β Admin can view real-time statistics (students, teachers, assessments)
- β Teacher can assign students and create classes
- β Student browser with multi-select for bulk class creation
- β Comprehensive progress tracking with stage identification
- β Debug logging for better error tracking
The platform uses PostgreSQL with the following main tables:
users- Base user information with role-based accessstudents- Extended student profiles with teacher assignmentsteachers- Teacher profiles with department infoadmins- Admin profiles with permission levelsassessment_sessions- Individual assessment recordsassessment_results- Detailed results and analysisstudent_progress- Longitudinal progress trackingclasses- Class/group managementclass_members- Student-class relationships
This is an educational project. For major changes, please open an issue first to discuss proposed changes.
This project is part of an educational initiative.
For questions or support, please open an issue on GitHub.
- Built on Flutter framework
- Powered by Supabase backend
- AI assessments via Groq API
- Based on Jean Piaget's cognitive development theory