Skip to content

Exam-Manager is a powerful platform for educators to create, view, and manage exams and questions efficiently. Built with Next.js, Prisma, and Tailwind CSS, it features user roles, dynamic pagination, and a user-friendly interface. Ideal for modern educational settings.

License

Notifications You must be signed in to change notification settings

brytebee/exam-question-db

Repository files navigation

Exam-Manager

Exam-Manager is a powerful platform designed for educators to efficiently create, view, and manage exams and questions. Built with modern technologies like Next.js, Prisma, and Tailwind CSS, this platform simplifies exam administration and offers a user-friendly interface for dynamic management of educational content.

Features

  • User Roles: Support for various user roles, such as Admin, Teacher, and Student, allowing for customized access and permissions.
  • Exam Management: Create, update, view, and delete exams seamlessly.
  • Question Bank: Manage a library of questions with different types (multiple choice, true/false, etc.).
  • Dynamic Pagination: Efficient navigation and management of large sets of questions and exams.
  • Responsive Design: Fully responsive layout powered by Tailwind CSS for seamless use across devices.
  • User-Friendly Interface: Simplified and intuitive UI/UX for educators and students.
  • Data Persistence: All data is stored in a PostgreSQL database via Prisma ORM.

Tech Stack

  • Frontend: Next.js - A React framework for building server-side rendered and static websites.
  • Backend: Node.js with Next.js API routes for managing the server-side logic.
  • Database: Prisma as the ORM for interacting with a PostgreSQL database.
  • Styling: Tailwind CSS for building responsive and modern UI components.
  • Authentication: NextAuth.js for handling user authentication and session management.
  • Deployment: The app can be deployed on platforms like Vercel or Heroku.

Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/exam-manager.git
  2. Install dependencies:

    cd exam-manager
    npm install
  3. Set up environment variables:

    Create a .env file in the root directory and fill in the following:

    DATABASE_URL=postgresql://username:password@localhost:5432/exam_manager
    NEXTAUTH_SECRET=your_secret
    NEXTAUTH_URL=http://localhost:3000
  4. Run database migrations:

    npx prisma migrate dev
  5. Start the development server:

    npm run dev

    The app will be running on http://localhost:3000.

Prisma Studio

To easily manage and inspect the database, use Prisma Studio:

npx prisma studio

Usage

  • Admin Role: Create and manage exams, questions, and user roles.
  • Teacher Role: Access to exam creation and question management.
  • Student Role: Ability to view exams and submit answers.

Deployment

To deploy the application, you'll need to configure the environment variables in the target environment (e.g., Vercel, Heroku) and set up a database.

Steps for Deployment

  1. Deploy on Vercel:

    • Push the code to GitHub and connect your repository with Vercel.
    • Add the environment variables in the Vercel dashboard.
    • Click on Deploy.
  2. Database Setup:

    Ensure that your database URL is correctly set up in the production environment, and that Prisma migrations are applied.

npx prisma migrate deploy

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any bugs or feature requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Exam-Manager is a powerful platform for educators to create, view, and manage exams and questions efficiently. Built with Next.js, Prisma, and Tailwind CSS, it features user roles, dynamic pagination, and a user-friendly interface. Ideal for modern educational settings.

https://exam-question-db.vercel.app; https://github.com/user-attachments/assets/a965a8c9-d7e7-4694-a16f-3d469c66f348; https://github.com/user-attachments/assets/863a839e-8742-408b-a7bb-82222272ec8a

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published