Skip to content

The Examination Centre project is a web-based system designed to streamline the creation, management, and attempt of online exams. It features a user-friendly interface for teachers to create tests and manage questions, while students can attempt tests with real-time countdowns and view results.

Notifications You must be signed in to change notification settings

Harsh-BH/Examination-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Online Test Platform

An online test platform that allows teachers to create tests, add questions, and manage students. Students can attempt tests, view results, and track their performance.

Features

Teachers

  • Create Tests: Add new tests with titles, descriptions, and other details.
  • Add Questions: Add multiple choice, single choice, or paragraph type questions to tests.
  • Manage Tests: View, edit, or delete tests and their questions.
  • View Results: Analyze student performance with detailed results and graphs.

Students

  • Attempt Tests: Take tests within a specified time limit.
  • View Results: See detailed results of attempted tests with accuracy and performance metrics.
  • Profile Management: Manage personal information and profile picture.

Tech Stack

  • Frontend: React.js, CSS (Bootstrap)
  • Backend: Firebase (Firestore, Auth, Storage)
  • Routing: React Router

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/online-test-platform.git
    cd online-test-platform
  2. Install dependencies:

    npm install
  3. Set up Firebase:

    • Create a Firebase project on Firebase Console.
    • Add your Firebase config to src/firebaseConfig.js:
    // src/firebaseConfig.js
    import { initializeApp } from "firebase/app";
    import { getFirestore } from "firebase/firestore";
    import { getAuth } from "firebase/auth";
    import { getStorage } from "firebase/storage";
    
    const firebaseConfig = {
      apiKey: "YOUR_API_KEY",
      authDomain: "YOUR_AUTH_DOMAIN",
      projectId: "YOUR_PROJECT_ID",
      storageBucket: "YOUR_STORAGE_BUCKET",
      messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
      appId: "YOUR_APP_ID"
    };
    
    const app = initializeApp(firebaseConfig);
    const db = getFirestore(app);
    const auth = getAuth(app);
    const storage = getStorage(app);
    
    export { db, auth, storage };
  4. Run the application:

    npm start
  5. Open in your browser:

    Navigate to http://localhost:3000

Project Structure

online-test-platform/
│
├── public/
│   ├── index.html
│   └── ...
│
├── src/
│   ├── components/
│   │   ├── AttemptTest.jsx
│   │   ├── CreateQuestion.jsx
│   │   ├── CreateTest.jsx
│   │   ├── Dashboard.jsx
│   │   ├── Login.jsx
│   │   ├── Profile.jsx
│   │   ├── Register.jsx
│   │   ├── Result.jsx
│   │   ├── StudentDashboard.jsx
│   │   ├── TeacherDashboard.jsx
│   │   ├── TeacherLayout.jsx
│   │   └── ...
│   │
│   ├── firebaseConfig.js
│   ├── main.js
│   ├── App.js
│   └── index.css
│
├── .gitignore
├── package.json
└── README.md

Contact

About

The Examination Centre project is a web-based system designed to streamline the creation, management, and attempt of online exams. It features a user-friendly interface for teachers to create tests and manage questions, while students can attempt tests with real-time countdowns and view results.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published