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)

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









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