Skip to content

About

Workshop booking site for Quality Tire's. Next.js, Firebase, admin, and email. Live at pasha-seven.vercel.app.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Quality Tire's — Workshop site for Pasha

Next.js + Tailwind workshop website with online booking, Firebase storage, admin panel, and Nodemailer email alerts.

Features

  • Public site for Quality Tire's (owner: Pasha)
  • Online booking (service, date/time, car plate, mileage, notes)
  • Admin panel for bookings, receipts, and car records
  • Firebase Auth + Firestore
  • Email notifications via Nodemailer when a booking is created (admin + customer)
  • Optional receipt emails to customers

Setup

1. Install

npm install

2. Firebase

  1. Create a Firebase project
  2. Enable Authentication → Email/Password
  3. Create an admin user with the same email you put in ADMIN_EMAIL
  4. Create a Firestore database
  5. Create a service account (Project settings → Service accounts → Generate new private key)
  6. Copy web app config + service account values into .env.local

Suggested Firestore collections (created automatically by the app):

  • bookings
  • receipts
  • cars

3. Email (Nodemailer)

Configure SMTP in .env.local. For Gmail, use an App Password.

4. Environment

cp .env.example .env.local

Fill in all values, then:

npm run dev

Open http://localhost:3000

  • Home: /
  • Book: /book
  • Admin: /admin/login

Scripts

npm run dev
npm run build
npm start

Notes

  • Public bookings write through /api/bookings using the Firebase Admin SDK, then send emails.
  • Admin routes require a Firebase ID token and must match ADMIN_EMAIL.
  • Update phone/address in src/lib/constants.ts.

About

Workshop booking site for Quality Tire's. Next.js, Firebase, admin, and email. Live at pasha-seven.vercel.app.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages