Skip to content

Opera Surgical Centre

Opera Surgical Centre is a full-stack clinic management system built with Next.js, React, TailwindCSS, and TypeScript on the client side, and Node.js, Firebase, and Nodemailer on the server. It provides role-based dashboards for doctors, pharmacy, and admin, with secure authentication using Firebase. Key features include patient and appointment registration, custom calendar integration, account activation logic, and automated dynamic emails with Nodemailer.

Built 1 min readCode (opens in a new tab)

Opera Surgical Centre

A college assignment to create a clinic management system.

Tech Stack

Client: Nextjs, React, TailwindCSS, Typescript

Server: Node, Firebase, Nodemailer

Features

  • Dashboard, Doctor Dashboard, Pharmacy Dashboard
  • Higher Ordered Components for Security
  • Firebase Authentication
  • Role Base Login system
  • Contact from, feedback form etc.
  • Appointment Registration, Patient Registration and handeling
  • Dynamic Email using Nodemailer to User
  • Custom Calender
  • Account Activation logic etc.
  • Pharmacy Ecommerce store.
  • Custom Loader

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

FIREBASE_PROJECT_ID=

FIREBASE_CLIENT_EMAIL=

FIREBASE_PRIVATE_KEY=

GMAIL_USER=

GMAIL_PASS=

NEXT_PUBLIC_FIREBASE_API_KEY=

NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=

NEXT_PUBLIC_FIREBASE_PROJECT_ID=

NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=

NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=

NEXT_PUBLIC_FIREBASE_APP_ID=

Screenshots

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

App Screenshot

Run Locally

Clone the project

  git clone https://github.com/Manish-Tamang/opera-surgical-centre

Go to the project directory

  cd opera-surgical-centre

Install dependencies

  npm install

Start the server

  npm run dev
  • nextjs14
  • react
  • nodemailer
  • firebase

© 2023-2026 Manish Tamang · RSS · GitHub

Not vibe coded: how I use AICoded by hand: how this site was madeMade with AstroIndieWeb Camp