Skip to content

๐ŸŽฏ QuizScape is a Flutter-based quiz app with user authentication, categorized questions, and result tracking. Built with reusable widgets and service-based architecture, it's designed for interactive learning and smooth UX across platforms.

Notifications You must be signed in to change notification settings

Sandarsh18/QuizScape

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“š QuizScape - A Smart Quiz App

A Cloud-Enabled, Offline-First Interactive Quiz Application built with Flutter & Dart

Flutter Dart Platform License Status


๐Ÿ“– Introduction

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.


๐Ÿš€ Key Features

  • ๐Ÿ”‘ 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

๐Ÿ–ผ๏ธ Screenshots

Splash Login Register Quiz
Result Profile Home (Categories & Difficulties) Settings (Dark)

๐Ÿ—บ๏ธ Navigation Flow

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]
Loading

๐Ÿ›๏ธ 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

๐Ÿงฉ Entityโ€“Relationship (ER) Diagram

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
    }
Loading

๐Ÿ“ฆ 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

โ™ฟ Content & Accessibility

  • ๐ŸŒ 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

โ˜๏ธ Environment Setup

  1. Copy assets/.env.example to assets/.env and fill in your Supabase credentials:
    SUPABASE_URL=your-project-url
    SUPABASE_ANON_KEY=your-anon-key
  2. Do not commit assets/.env to git (see .gitignore).
  3. Run flutter pub get and build for Android, iOS, or Web.

๐ŸŽฅ Demonstration

โ–ถ๏ธ Watch Project Demo

๐Ÿ“ฑ Or scan the QR code below:

QR Code

๐Ÿ 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.

About

๐ŸŽฏ QuizScape is a Flutter-based quiz app with user authentication, categorized questions, and result tracking. Built with reusable widgets and service-based architecture, it's designed for interactive learning and smooth UX across platforms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published