<<<<<<< HEAD
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject, you can't go back!
If you aren't satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject will still work, but they will point to the copied scripts so you can tweak them. At this point you're on your own.
You don't have to ever use eject. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
A secure, full-stack hospital management web application designed to streamline patient record handling and role-based operations. Built with Flask (Python) for the backend and React.js + Tailwind CSS + TypeScript for the frontend, it supports multiple roles such as Admin, Nurse, and Receptionist, with secure JWT authentication and MongoDB integration.
-
π JWT-based Authentication & Authorization
- Secure login system for Admin, Nurse, and Receptionist roles
- Role-based access control (RBAC) for protected routes
- Configurable password hashing with bcrypt
- Rate limiting for security
-
π₯ Patient Management (CRUD)
- Create, read, update, and delete patient records
- Input validation and error handling
- Advanced search with pagination
- Data compression for better performance
-
π Search with Pagination
- Efficient server-side filtering of patient records with indexed queries
- Supports pagination for large datasets
- Real-time search capabilities
-
π Admin Dashboard & Analytics
- Admin-only interface to view all registered users
- Patient demographics and disease distribution analytics
- Real-time charts and statistics
- Excludes sensitive info like passwords and MongoDB
_id
-
π¨ Frontend
- Clean and responsive UI using React and Tailwind CSS
- Authentication-aware navigation and route protection
- Progressive Web App features
- Optimized performance with React Query
-
π‘οΈ Security & Performance
- Environment-based configuration
- Health check endpoints
- Comprehensive error handling
- Database connection monitoring
- Rate limiting and compression
- React.js
- Tailwind CSS
- Axios
- React Router DOM
- Python (Flask)
- Flask-JWT-Extended
- Flask-CORS
- Flask-PyMongo
- Flask-Limiter (Rate Limiting)
- Flask-Compress (Data Compression)
- Gunicorn (Production Server)
- MongoDB (NoSQL)
- Indexing for optimized search and filtering
- Python 3.x
- Node.js + npm
- MongoDB running locally or cloud (e.g., MongoDB Atlas)
cd Project/healthcare_patient_system
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
python app.pyFlask app will start at: http://localhost:5000
Environment Configuration:
Copy env.example to .env and configure your environment variables:
cp env.example .envcd Project/healthcare-frontend
npm install
npm startReact app will start at: http://localhost:3000
| Method | Endpoint | Description | Protected |
|---|---|---|---|
| POST | /api/login |
Login for all roles | β |
| POST | /api/patients |
Create patient record | β |
| GET | /api/patients?page=1 |
Get patients with pagination | β |
| PUT | /api/patients/:id |
Update patient details | β |
| DELETE | /api/patients/:id |
Delete patient | β |
| GET | /api/admin/users |
View all users (Admin only) | β |
| GET | /api/health |
Health check endpoint | β |
| GET | /api/analytics/age |
Patient age distribution | β |
| GET | /api/analytics/diseases |
Disease distribution | β |
| Role | Access Privileges |
|---|---|
| Admin | Full access, manage users & patients |
| Nurse | View & edit patient data |
| Receptionist | Add/view patient entries |
π¦ project-root
βββ backend
β βββ app.py
β βββ routes/
β βββ models/
β βββ utils/
βββ frontend
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ App.js
βββ README.md
- β Email verification & password reset
- β Deploy on Render/Netlify + MongoDB Atlas
- β³ Role-based analytics dashboard
- β³ Export patient data to PDF/Excel
- β³ Add doctor role and appointment module
This project demonstrates a full-stack solution for healthcare systems with secure authentication, clean UI, and scalable architecture. Perfect for hospitals, clinics, or medical institutions.
Feel free to connect:
- LinkedIn: linkedin.com/in/raunak0400
- GitHub: github.com/raunak0400
- Email: raunakkumarjha233@gmail.com
Special thanks to:
- The professors for their guidance
- The open-source community for inspiration
- Project collaborators for their valuable input
Created with β€οΈ by a passionate programmer
RAUNAK KUMAR JHA
747c19d3bece2a64451adc470f5e733ff59a7e43