A fully responsive frontend dashboard for managing a dental clinic's appointments, patients, and treatment records. Built with React, TailwindCSS, and modern web technologies.
- Secure login (simulated with hardcoded credentials)
- View, add, edit, delete patients
- Manage appointments (incidents) with cost, treatment details, status, next appointment
- Upload treatment files (PDFs, images)
- View upcoming appointments in a calendar (monthly/weekly)
- Admin dashboard with KPIs (pending/completed treatments, revenue, top patients, etc.)
- Login (simulated)
- View their own appointment history and upcoming visits
- Access cost, treatment details, and uploaded files
- Secure login/logout
- Role-based access control (Admin/Patient)
- Protected routes and authorized actions
- Complete patient records
- Medical history tracking
- Emergency contact information
- Admin-only access for patient data
- Interactive calendar view
- Treatment notes and history
- File attachments support (images/PDFs)
- Next appointment scheduling
- Email notifications (coming soon)
- Role-specific KPIs
- Appointment statistics
- Revenue tracking (admin)
- Treatment history (patients)
- React.js (functional components + hooks)
- React Router DOM
- Context API for global state management
- Tailwind CSS v4 for modern styling
- LocalStorage (custom utility + hooks)
- No backend/API – everything simulated
- File uploads via Base64 / Blob URLs
- Node.js (v14 or higher)
- npm or yarn
- Modern web browser
-
Clone the repository:
git clone https://github.com/nikhilshakya07/Dental-Center-Management.git cd Dental-Center-Management -
Install dependencies:
npm install
-
Create a
.envfile in the root directory:VITE_STORAGE_KEY=your_storage_key
-
Start the development server:
npm run dev
-
Open http://localhost:5173 in your browser
npm run buildThe build artifacts will be stored in the dist/ directory.
src/
├── components/ # Reusable UI components
│ ├── appointment/ # Appointment-related components
│ ├── auth/ # Authentication components
│ ├── common/ # Shared components
│ ├── dashboard/ # Dashboard components
│ └── patient/ # Patient management components
├── contexts/ # React Context providers
├── hooks/ # Custom React hooks
├── pages/ # Main route components
└── utils/ # Helper functions
- React: Frontend library
- TailwindCSS: Utility-first CSS framework
- date-fns: Date manipulation
- Vite: Build tool and dev server
- All sensitive data is encrypted before storage
- File uploads are validated for type and size
- Session management with secure tokens
- XSS protection through React's built-in escaping
- CSRF protection implemented
- File preview not supported after uploading the file
- Performance optimization needed for large patient lists
- Mobile calendar view needs refinement
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email nikhilshakya1308@gmail.com or open an issue in the repository.
Nikhil Shakya
