Skip to content

Primer-Labs/puthulir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AUSEC Quizzer- Puthulir

Netlify Status

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.

Table of Contents

Features

  • Online One-time Quiz hosting
  • Responsive and modern UI with TailwindCSS and shadcn/ui
  • Persistent state management with PostgreSQL
  • Email notifications using Resend

Prerequisites

Before setting up the project, make sure you have the following installed:

Set environment variables following the reference template

Getting Started

Follow these steps to get the project up and running locally:

  1. Clone the repository:

    git clone https://github.com/MeAU-Labs/AUSEC-Quizzer.git
    cd ausec-quizzer
  2. Install dependencies:

    npm install
  3. Set up the database:

    • Create your database and add the connection URL in the .env file as DATABASE_URL.
  4. Generate Prisma Client:

    npm run db:generate
  5. Run the development server:

    npm run dev
  6. Open the app in your browser: The app will be running at http://localhost:3000.

Available Scripts

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

Database Management

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

Email Management

  • Build email templates:

    npm run email:build
  • Preview email templates:

    npm run email:preview
  • Start development server:

    npm run email:dev

Tech Stack

  • 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.

License

This project is licensed under the MIT License.