39768-vm/README.md
2026-04-21 19:01:50 +00:00

220 lines
5.4 KiB
Markdown

# Clinic Management System - Frontend
A modern, responsive clinic management system built with React and Vite. This is a frontend-only implementation showcasing a professional medical interface.
## Features
### πŸ” Authentication
- Role-based login (Admin, Doctor, Receptionist)
- Secure authentication flow
### πŸ“Š Dashboard
- Real-time statistics overview
- Recent appointments display
- Task management
- Quick action buttons
### πŸ‘₯ Patient Management
- Add, view, and edit patient records
- Search and filter patients
- Patient status tracking
- Comprehensive patient information
### πŸ“… Appointment Management
- Book and manage appointments
- Calendar view with mini calendar
- Appointment status tracking
- Time slot management
- Filter by date and view options
### πŸ‘¨β€βš•οΈ Doctor Management
- Doctor profiles with specializations
- Availability status
- Contact information
- Experience tracking
### πŸ“‹ Medical Records
- Patient medical history
- Diagnosis and prescription tracking
- View and edit records
- Export to PDF
### πŸ“ˆ Reports & Analytics
- Patient statistics
- Appointment trends
- Financial reports
- Doctor performance metrics
### βš™οΈ Settings
- Clinic information management
- Working hours configuration
- Notification preferences
- Security settings
## Tech Stack
- **React 18** - UI framework
- **Vite** - Build tool and dev server
- **React Router DOM** - Navigation and routing
- **CSS3** - Styling with CSS variables and modern layouts
- **Google Fonts** - DM Sans and Playfair Display
## Installation
1. **Clone or extract the project:**
```bash
cd clinic-management-system
```
2. **Install dependencies:**
```bash
npm install
```
3. **Start the development server:**
```bash
npm run dev
```
4. **Open your browser:**
Navigate to `http://localhost:5173`
## Login Credentials
Since this is a frontend-only demo, you can use any username/password combination. Simply select your role:
- **Admin** - Full access to all features
- **Doctor** - Access to patients, appointments, and medical records
- **Receptionist** - Access to patients, appointments, and doctors
## Project Structure
```
clinic-management-system/
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ components/ # Reusable components
β”‚ β”‚ β”œβ”€β”€ Sidebar.jsx
β”‚ β”‚ β”œβ”€β”€ Sidebar.css
β”‚ β”‚ β”œβ”€β”€ Header.jsx
β”‚ β”‚ └── Header.css
β”‚ β”œβ”€β”€ pages/ # Page components
β”‚ β”‚ β”œβ”€β”€ Login.jsx
β”‚ β”‚ β”œβ”€β”€ Login.css
β”‚ β”‚ β”œβ”€β”€ Dashboard.jsx
β”‚ β”‚ β”œβ”€β”€ Dashboard.css
β”‚ β”‚ β”œβ”€β”€ Patients.jsx
β”‚ β”‚ β”œβ”€β”€ Patients.css
β”‚ β”‚ β”œβ”€β”€ Appointments.jsx
β”‚ β”‚ β”œβ”€β”€ Appointments.css
β”‚ β”‚ β”œβ”€β”€ Doctors.jsx
β”‚ β”‚ β”œβ”€β”€ MedicalRecords.jsx
β”‚ β”‚ β”œβ”€β”€ Reports.jsx
β”‚ β”‚ └── Settings.jsx
β”‚ β”œβ”€β”€ App.jsx # Main app component
β”‚ β”œβ”€β”€ App.css # Global styles
β”‚ └── main.jsx # Entry point
β”œβ”€β”€ index.html # HTML template
β”œβ”€β”€ vite.config.js # Vite configuration
└── package.json # Dependencies
```
## Design Features
### Color Palette
- **Primary Blue**: #0066cc - Main brand color
- **Secondary Green**: #00a86b - Success states
- **Accent Red**: #ff6b6b - Alerts and important actions
- **Warning Orange**: #ffa726 - Warning states
- **Background**: #f8f9fc - Clean, professional background
- **Surface**: #ffffff - Card backgrounds
### Typography
- **Display Font**: Playfair Display - For headings and titles
- **Body Font**: DM Sans - For body text and UI elements
### UI/UX Highlights
- Smooth animations and transitions
- Responsive design for all screen sizes
- Intuitive navigation with role-based access
- Modern card-based layouts
- Interactive hover states
- Modal forms for data entry
- Professional medical aesthetic
## Building for Production
```bash
npm run build
```
The built files will be in the `dist/` directory, ready to be deployed to any static hosting service.
## Preview Production Build
```bash
npm run preview
```
## Customization
### Changing Colors
Edit the CSS variables in `src/App.css`:
```css
:root {
--primary: #0066cc;
--secondary: #00a86b;
--accent: #ff6b6b;
/* ... other variables */
}
```
### Adding Features
Since this is a frontend-only application, you can:
1. Add new pages in `src/pages/`
2. Add routes in `src/App.jsx`
3. Create reusable components in `src/components/`
### Integrating Backend
To connect this to a backend:
1. Install axios or fetch API wrapper
2. Create API service files
3. Replace mock data with API calls
4. Add authentication token management
5. Implement error handling
## Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
## License
This is a demo project for educational and portfolio purposes.
## Future Enhancements
Potential features to add:
- [ ] Backend integration
- [ ] Real-time notifications
- [ ] Advanced search and filtering
- [ ] Data visualization charts
- [ ] Print functionality
- [ ] Multi-language support
- [ ] Dark mode toggle
- [ ] Export to various formats
- [ ] Email integration
- [ ] SMS reminders
## Contributing
This is a demo project, but feel free to fork and customize for your own use!
## Support
For questions or issues, please refer to the React and Vite documentation:
- [React Documentation](https://react.dev)
- [Vite Documentation](https://vitejs.dev)