Skip to content

Latest commit

 

History

History
91 lines (64 loc) · 2.93 KB

File metadata and controls

91 lines (64 loc) · 2.93 KB

🧠 Testeefy – A Quiz Creation and Assessment Platform

Author: Namit Seth
🎥 Video Demo: YouTube Demo
💻 GitHub Repo: Testeefy on GitHub


📘 Introduction

Testeefy is a web-based quiz platform built using Flask and SQLite that allows examiners to create topic-wise tests and candidates to attempt them. It mimics a lightweight online testing system, complete with user authentication, dynamic question creation, and automated result evaluation.

Whether you're an educator creating tests or a learner checking your knowledge, Testeefy simplifies the process.


🧱 Tech Stack

  • Backend: Python (Flask)
  • Frontend: HTML + Jinja Templates
  • Database: SQLite
  • Sessions: Flask-Session
  • Styling & Assets: Static folder (CSS, JS, Images)

🔩 Key Features

  • User registration & login
  • Role-based access: Examiners vs. Candidates
  • Test creation with multiple questions and options
  • Support for marking correct/incorrect answers
  • Automatic result calculation & storage
  • View results and past attempts

📂 Project Structure

  • app.py: Flask application logic & route handling
  • helpers.py: Shared utility functions (e.g. login check, error display)
  • Project.db: SQLite database storing users, tests, questions, and attempts
  • templates/: HTML pages rendered dynamically
  • static/: CSS, JS, and media assets

🔗 Core Routes

Route Description
/ Home page – overview of the app
/login/ User login page
/register/ New user registration
/logout/ Logs out the current user
/tests/ Shows subjects or created tests based on user role
/test/create/ Allows examiner to create a new test
/tests/<subject> Displays all tests under a subject
/test?id=<test_id> Candidate test attempt page
/test/submit Submits answers and calculates score
/result Displays attempted test results
/attempt?result_id=<id> View past attempt details

💡 How It Works

  1. User Registration – Users choose between "Candidate" or "Examiner" roles.
  2. Examiners – Can create tests by adding questions and marking correct answers.
  3. Candidates – Select a subject, choose a test, and answer MCQs.
  4. Submission – Test data is validated, scored, and stored in the database.
  5. Results – Users can view scores and detailed attempt history.

🎯 Future Enhancements

  • Timer-based tests
  • Leaderboard and analytics
  • Email notifications
  • Question banks with difficulty tagging
  • Mobile-responsive UI

🚀 Try It Yourself

🔗 GitHub: namit-seth/testeefy
🎥 Video Demo: Click to Watch

Fork the repo, run the app locally, and start building your own tests today!