Skip to content

namit-seth/testeefy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 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!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published