A Cloud-Enabled, Offline-First Interactive Quiz Application built with Flutter & Dart
QuizScape is a modern, user-friendly quiz application developed using Flutter and Dart, designed for seamless, interactive learning on Android, iOS, and Web.
QuizScape now features Supabase Cloud Sync for authentication and quiz history, while retaining offline-first principles for a smooth experience everywhere.
The app allows users to:
- Sign up and log in securely (Supabase Auth)
- Attempt quizzes across multiple categories and difficulty levels
- Track progress and scores in real time, with cloud backup
- Review quiz history and answers in the profile section
- Enjoy a modern UI with category-based color, dark/light mode, and a 10-second timer per question
- Use the app on Android, iOS, and Web
QuizScape focuses on accessibility, simplicity, and performance, ensuring it works smoothly on all devices.
- ๐ Cloud User Authentication: Secure login/signup with Supabase Auth
- โ๏ธ Cloud Quiz History: All quiz attempts, answers, and scores are synced to Supabase
- ๐ Quiz Categories: Science, GK, Technology, and more
- ๐ Difficulty Levels: Easy, Medium, Hard
- โฑ๏ธ Quiz Timer: 10-second countdown per question, auto-advance
- ๐ Dark & Light Mode: User preference saved and toggleable
- ๐จ Category Color UI: Quiz screens match selected category color
- ๐ Result & Analytics: Score summary, answer review, and feedback
- ๐ค Profile Dashboard: Displays user info and full quiz history (with answer review)
- ๐ Secure Cloud Storage: All user and quiz data stored in Supabase (no SharedPreferences)
- ๐ Web Support: Full PWA/web support with .env-based config
flowchart TD
A[Splash Screen] --> B{Already Logged In?}
B -- Yes --> C[Home Screen]
B -- No --> D[Login/Signup Screen]
D --> C
C --> E[Category & Difficulty Selection]
E --> F[Quiz Screen]
F --> G[Result Screen]
G --> H[Profile Screen]
C --> H[Profile Screen]
H --> I[Settings Screen]
๐๏ธ Architecture
graph TD
User --> UI
UI --> QuizEngine
QuizEngine --> Supabase
Supabase --> DataPersistence
UI --> ProfileModule
UI --> SettingsModule
UI Layer: Screens for login, quiz, results, profile, and settings
Quiz Engine: Handles quiz logic, timer, and scoring
Supabase: Stores user details, quiz history, and preferences
Profile & Settings Modules: Personalize user experience
erDiagram
USER ||--o{ RESULT : has
QUIZ ||--o{ QUESTION : contains
USER ||--|| PREFERENCES : owns
USER {
string User_ID
string Name
string Email
string Password
}
QUIZ {
string Quiz_ID
string Category
string Difficulty_Level
}
QUESTION {
string Question_ID
string Quiz_ID
string Question_Text
string Options
string Correct_Answer
}
RESULT {
string Result_ID
string User_ID
string Quiz_ID
int Score
int Correct_Count
int Incorrect_Count
string Time_Taken
}
PREFERENCES {
string User_ID
string Theme_Mode
string Language
string Last_Quiz_Attempted
}
๐ฆ Technology Stack
| Layer | Technology Used |
|---|---|
| Frontend | Flutter (Dart) |
| Cloud | Supabase (Auth, DB) |
| State Mgmt | Provider |
| Styling | Google Fonts, Custom UI |
| Testing | flutter_test |
| Linting | flutter_lints |
- ๐ Multilingual Support: Language selection and full localization for all content.
- ๐ฃ๏ธ Text-to-Speech & Accessibility: Improved support for visually impaired users, including TTS for questions and answers.
- ๐ผ๏ธ Rich Media Questions: Support for images, audio, and video in questions and answers for a more engaging experience.
โ๏ธ Requirements & Specifications
Hardware Requirements
๐ฑ Android/iOS/Web device with min. 2 GB RAM
๐พ 50 MB storage space
โก Quad-core 1.5 GHz processor
๐บ Display resolution: 720p or higher
Software Requirements
๐ฅ๏ธ Android 7.0 (Nougat) or higher / iOS 12+ / Modern browser
๐ง Flutter SDK
๐ป Visual Studio Code IDE
๐ฆ Dart Programming Language
๐ Dependencies:
supabase_flutter โ Cloud sync & auth
provider โ State management
intl โ Date/time formatting
google_fonts โ Custom fonts
flutter_dotenv โ Environment config
๐งช Quality Assurance
๐ flutter_lints โ Enforces clean, consistent Dart coding practices
๐งช flutter_test โ Unit, widget, and integration testing for stability
โก Code Generation Pipeline โ Automates boilerplate code generation
๐ Performance Profiling โ Tracks CPU, memory, and battery usage with Flutter DevTools
- Copy
assets/.env.exampletoassets/.envand fill in your Supabase credentials:SUPABASE_URL=your-project-url SUPABASE_ANON_KEY=your-anon-key
- Do not commit
assets/.envto git (see.gitignore). - Run
flutter pub getand build for Android, iOS, or Web.
๐ฑ Or scan the QR code below:
๐ Conclusion
QuizScape now combines interactive quizzes, cloud sync, and user personalization into a lightweight, cross-platform app. It showcases strong skills in Flutter, state management, UI/UX, and cloud integration. The modular design ensures easy scalability and future-readiness ๐ฑ.
๐ฎ Future Scope
๐ Add multilingual support
โ๏ธ Firebase/other cloud integration for leaderboards
๐ค AI-driven personalized quiz recommendations
๐ Gamification elements (badges, streaks, achievements)
๐ License
This project is licensed under the MIT License. See the LICENSE file for details.








