🌟 This GitHub repository contains a project designed for practicing MCQs related to our subjects in a quiz format. It provides an engaging alternative to studying from question bank PDFs. As the admin, I will upload quizzes for practice, and you can use this platform to enhance your learning experience.
This is a Next.js 15 project built with TypeScript. It leverages the following technologies:
- Prisma ORM for database management.
- Tailwind CSS and Shadcn UI for the frontend.
- Docker to set up a local database for development.
💡 Follow these steps to set up the project locally:
Ensure you have the following installed:
- pnpm package manager. If you already have Node.js installed, install
pnpm
globally:npm install -g pnpm
- Docker: Used to create and manage the local PostgreSQL database.
- Fork this repository to your GitHub account.
- Clone your forked repository:
git clone <your-fork-url>
- Navigate into the project directory:
cd <project-directory>
Install all the required dependencies using pnpm
:
pnpm install
Make sure Docker is running (e.g., open Docker Desktop on Windows) and execute:
pnpm start-db
This will create and run a PostgreSQL container with the necessary configuration.
Create a .env
file in the root of the project and add the following:
DATABASE_URL="postgresql://dev_user:dev_password@localhost:5432/quiz_db"
Make sure the credentials match those defined in the docker-compose.yaml
file.
Initialize the database schema by running the Prisma migration:
pnpx prisma migrate dev
This sets up the database tables as defined in the Prisma schema.
Start the development server:
pnpm dev
Open http://localhost:3000 in your browser to view the application.
Explore the following resources to learn more about the technologies used in this project:
- Next.js Documentation - A React framework for building full-stack web applications.
- Prisma Documentation - A modern Node.js and TypeScript ORM.
- Docker Documentation - An open platform for developing, shipping, and running applications.
- Tailwind CSS Documentation - A utility-first CSS framework.
- Shadcn/UI Documentation - A collection of reusable components.
The website is deployed on Vercel. You can visit it here: https://those-mcq-subjects.vercel.app.
Feel free to contribute by opening issues or submitting pull requests to improve the project! 🙌