exam-simulator

๐ŸŽ“ Exam Simulator

A Python-based Exam Simulator CLI application with student registration, login, exam timer, PDF slip generation, and email notifications.


โœจ Features


๐Ÿ“‚ Project Structure

. โ”œโ”€โ”€ results/ # Stores exam results โ”œโ”€โ”€ users/ # Stores user accounts โ”œโ”€โ”€ logo.png # Logo for registration PDF (optional) โ”œโ”€โ”€ main.py # Main program entry point โ”œโ”€โ”€ utils.py # Helper functions (validation, PDF, email, etc.) โ”œโ”€โ”€ requirements.txt # Python dependencies โ””โ”€โ”€ README.md # Project documentation


๐Ÿš€ Getting Started

1. Clone Repository

git clone https://github.com/your-username/exam-simulator.git
cd exam-simulator

2. Install Dependecies

Make sure you have Python 3.9+ installed. Install required libraries:

pip install -r requirements.txt

3. Configure Email

Edit your email settings inside utils.py:

SMTP_SERVER = "smtp.gmail.com"
SMTP_PORT = 587
SENDER_EMAIL = "your_email@gmail.com"
SENDER_PASSWORD = "your_app_password"

4. Run the App

python main.py

#๐ŸŽฎ Usage

When the app starts, youโ€™ll see the main menu:

  1. Register
  2. Login
  3. Exit

โ€“

After logging in: โ€” Logged In Menu โ€”

  1. Take Exam
  2. Check Result
  3. Change Name
  4. Logout

๐Ÿ“ธ Sample Registration Slip (PDF)

The system generates a Registration Slip like this:

Name: John Doe Username: 2025245JD Reg.No: 20251156789AB Department: SCIENCE Age: 17 Email: john.doe@exa


๐Ÿ‘จโ€๐Ÿ’ป Author

Udom Blessing is a seasoned Developer with focus on backend engineeringโ€ฆ. You can look him up or contact him via Github or Instagram

In order to contribute or to report any bug, kindly open a descriptive issue about the bug or contribution.

Adding an example of the bug or the intended feature or fix, is a good way to create an issue.

License

MIT