Skip to content

gloooomed/Schedulify-App

Repository files navigation

Schedulify

AI-powered college timetable management. Multi-tenant, conflict-free, and built for scale.

Report Bug · Request Feature

Forks Platform


Screenshots

Schedulify Gateway Screen    Schedulify Admin Dashboard


What it does

  • 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.

Tech Stack

Category Technology
Framework Flutter Dart
State Management Riverpod
Navigation GoRouter
Backend Supabase
AI Groq
Animations Flutter Animate

Getting Started

git clone https://github.com/gloooomed/Schedulify-App.git
cd Schedulify-App
flutter pub get

Create 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.json

Project Structure

Schedulify-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

Contributing

Prerequisites

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

Steps

  1. Fork the repository
  2. Create a branch for your feature:
    git checkout -b feat/your-feature-name
  3. Commit with a clear message:
    git commit -m "feat: describe your change"
  4. Push and open a Pull Request against main

Guidelines

  • 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.

About

Something i built as side project ;) for college schedule managements.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors