AI-powered college timetable management. Multi-tenant, conflict-free, and built for scale.
- Multi-Tenant Architecture - Each college gets its own isolated Supabase project. One app, many institutions, zero data bleed.
- AI Schedule Parsing - Upload a CSV or paste raw text. Groq's LLaMA model parses it, detects conflicts, and saves structured timetable entries.
- Role-Based Dashboards - Admins manage everything. Faculty see their classes. Students see their schedule. Each role gets exactly what they need.
- Setup Wizard - New colleges onboard themselves in 5 steps. No backend intervention required.
- Live Conflict Detection - The AI flags scheduling conflicts before entries are saved, preventing double-bookings automatically.
| Category | Technology |
|---|---|
| Framework | |
| State Management | |
| Navigation | |
| Backend | |
| AI | |
| Animations |
git clone https://github.com/gloooomed/Schedulify-App.git
cd Schedulify-App
flutter pub getCreate a dart_defines.json file in the project root:
{
"VENDOR_SUPABASE_URL": "https://your-vendor-project.supabase.co",
"VENDOR_SUPABASE_ANON_KEY": "your_vendor_anon_key",
"VENDOR_ACCESS_CODE": "your_access_code",
"GROQ_API_KEY": "your_groq_key"
}flutter run --dart-define-from-file=dart_defines.jsonSchedulify-App/
├── lib/
│ ├── main.dart # App entry + Supabase + Riverpod init
│ ├── config/
│ │ └── config_store.dart # SharedPreferences college config
│ ├── core/
│ │ ├── theme/app_theme.dart # Dark glassmorphic design system
│ │ ├── providers/auth_provider.dart # Riverpod auth state notifier
│ │ └── router/app_router.dart # GoRouter with role-based guards
│ ├── models/models.dart # All domain models
│ ├── services/
│ │ ├── supabase_client.dart # Dynamic multi-tenant Supabase proxy
│ │ ├── vendor_registry.dart # Central college registry service
│ │ ├── groq_service.dart # AI schedule parsing via Groq
│ │ ├── db_service.dart # Full CRUD database layer
│ │ └── student_service.dart # Student enrollment helpers
│ ├── shared/widgets/widgets.dart # GlassCard, StatCard, PrimaryButton, etc.
│ └── features/
│ ├── gateway/ # College ID entry screen
│ ├── auth/ # Login screen
│ ├── setup/ # 5-step onboarding wizard
│ ├── admin/ # Admin shell + 8 module tabs
│ ├── faculty/ # Faculty dashboard + TableCalendar
│ └── student/ # Student schedule + courses view
├── android/ # Android build configuration
├── assets/images/ # App logo and static assets
├── .env.example # Environment variable template
└── dart_defines.json # ← gitignored, never commit this
| Requirement | Version | Notes |
|---|---|---|
| Flutter | 3.32+ | Stable channel |
| Android Studio | Latest | For emulator + SDK |
| Groq API Key | - | Free tier works |
| Supabase Account | - | Free plan sufficient |
- Fork the repository
- Create a branch for your feature:
git checkout -b feat/your-feature-name
- Commit with a clear message:
git commit -m "feat: describe your change" - Push and open a Pull Request against
main
- One feature or fix per PR
- Follow existing Dart/Flutter conventions
- For larger changes, open an issue first
Built for colleges. Runs everywhere Android does.

