A Flutter-powered quiz application with SQLite integration, subject-wise performance tracking, and AI-generated quizzes. Built using Drift for local database management and Riverpod for state management.
- 📖 Standard Quiz: Randomly selects questions from the database.
- 🎛 Custom Quiz: Users select subjects, number of questions, and time per question.
- 🤖 AI Quiz: Personalizes questions based on user weaknesses using TFLite.
- 📊 Subject-wise Performance Tracking: Identify strong and weak subjects.
- 💾 Local Database (SQLite with Drift): Stores quiz questions and user progress.
- 🎨 Custom UI Theme: Dark mode-inspired colors and styling.
- Clone the repository:
git clone https://github.com/sherledge/ReviseX.git cd ReviseX - Install dependencies:
flutter pub get
- Run the app:
flutter run
The app uses an SQLite database (quiz.db) with a quiz table:
CREATE TABLE quiz (
id INTEGER PRIMARY KEY AUTOINCREMENT,
subject TEXT,
question TEXT,
option_a TEXT,
option_b TEXT,
option_c TEXT,
option_d TEXT,
correct_answer TEXT,
times_asked INTEGER
);- Uses a TFLite model to determine the number of questions per subject.
- Weakness Score Formula:
1 - (correct answers / total questions) - Subjects Considered:
- Operating Systems
- Data Structures
- Database Management Systems
- Computer Organization And Architecture
- Formal Languages And Automata Theory
- Flutter (Dart)
- Drift (SQLite ORM)
- Riverpod (State Management)
- TFLite (AI-based question selection)
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit your changes:
git commit -m "Added new feature" - Push to GitHub:
git push origin feature-name - Create a Pull Request