AUSEC Quizzer is a web application built for the Anna University Entrepreneurship Club. It is designed to host quizzes organized by the club. This application is built using Next.js, TailwindCSS, shadcn/ui, Prisma, React Hook Form, and Resend for handling emails.
- Online One-time Quiz hosting
- Responsive and modern UI with TailwindCSS and shadcn/ui
- Persistent state management with PostgreSQL
- Email notifications using Resend
Before setting up the project, make sure you have the following installed:
- Node.js (v20.x or later)
- npm (v10.x or later)
- Prisma CLI
Set environment variables following the reference template
Follow these steps to get the project up and running locally:
-
Clone the repository:
git clone https://github.com/MeAU-Labs/AUSEC-Quizzer.git cd ausec-quizzer
-
Install dependencies:
npm install
-
Set up the database:
- Create your database and add the connection URL in the
.env
file asDATABASE_URL
.
- Create your database and add the connection URL in the
-
Generate Prisma Client:
npm run db:generate
-
Run the development server:
npm run dev
-
Open the app in your browser: The app will be running at http://localhost:3000.
In the project directory, you can run the following commands:
-
Start the development server:
npm run dev
-
Build the application for production:
npm run build
-
Start the production server:
npm run start
-
Lint the codebase:
npm run lint
The project uses Prisma for database management. The following commands are available for managing the database:
-
Generate Prisma client:
npm run db:generate
-
Apply database migrations:
npm run db:migrate
-
Push the Prisma schema to the database:
npm run db:push
-
Open Prisma Studio (a web-based interface to inspect and modify your database):
npm run db:studio
-
Build email templates:
npm run email:build
-
Preview email templates:
npm run email:preview
-
Start development server:
npm run email:dev
- Next.js - A React framework for building server-rendered applications.
- TRPC- A framework for building end-to-end typesafe APIs
- TailwindCSS - A utility-first CSS framework for rapid UI development.
- shadcn/ui - A component library built on top of Radix UI and TailwindCSS.
- Prisma - An ORM for type-safe database access.
- React Hook Form - A library for managing forms in React.
- Resend - A service for sending transactional emails.
This project is licensed under the MIT License.