Medico is a comprehensive medical management system that provides separate interfaces for healthcare providers (admins) and patients to manage medical records, prescriptions, and reports.
- Patient Management: Register new patients and manage patient information
- Dashboard: View and update patient details in real-time
- Prescription Management: Create, edit, and delete prescriptions
- Medical Reports: Upload, manage, and organize patient medical reports
- Secure Access: Role-based authentication system
- Personal Dashboard: View personal medical information
- Prescription Access: View current medication prescriptions
- Report Viewer: Access and download medical reports
- Secure Portal: Private access to personal health data
- Node.js (v14 or higher)
- npm or yarn
-
Clone the repository
git clone <repository-url> cd frontend
-
Install dependencies
npm install
-
Environment Configuration Create a
.envfile in the root directory:REACT_APP_URI=http://localhost:<Port-Number>
-
Start the development server
npm start
-
Clone the repository
git clone <repository-url> cd backend
-
Install dependencies
npm install
-
Environment Configuration Create a
.envfile in the root directory:PORT = <Port-Number> MONGO_URI = <MongoDb Connection String>
-
Start the development server
npm start
npm start- Runs the app in development modenpm test- Launches the test runnernpm run build- Builds the app for productionnpm run eject- Ejects from Create React App (one-way operation)
- Access the Application: Open your browser and navigate to
http://localhost:3000 - Role Selection: Choose between "Healthcare Provider" or "Patient" role
- Authentication:
- Healthcare Providers: Login with admin credentials
- Patients: Automatic login with patient role
- Navigate to Patient Registration page
- Fill in patient details:
- Patient ID (unique identifier)
- Full Name
- Age and Gender
- Contact Information (Address, Email, Phone)
- Submit to register new patient
- Enter Patient UID on verification page
- Access comprehensive patient information
- Update individual fields with real-time saving
- Manage prescriptions and medical reports
- Add new prescriptions with medication details
- Edit existing prescriptions
- Delete prescriptions when needed
- View prescription history
- Upload medical reports (PDF, PNG, JPG, JPEG)
- Organize reports with custom names
- Edit report information
- Delete reports as needed
- Enter your Patient UID
- View personal medical information
- Access prescriptions and medical reports
- Read-only access to health data
- View current medication prescriptions
- See dosage and instructions
- No editing capabilities (read-only)
- View available medical reports
- Download reports in original format
- Organized by report name and upload date
- Role-based Access Control: Separate interfaces for admins and patients
- Token-based Authentication: JWT tokens for secure API calls
- Patient UID Verification: Required for accessing patient data
- Local Storage: Secure storage of authentication tokens
- Component-specific CSS: Each component has dedicated stylesheet
- Responsive Design: Mobile-friendly interfaces
- Consistent Icons: SVG icons throughout the application
- Loading States: Visual feedback for async operations
- Error Handling: User-friendly error messages
- React Context: For authentication and global state
- Local State: Component-specific state using useState hook
- API Integration: Axios for HTTP requests
- Loading States: Comprehensive loading indicators
react- Frontend frameworkreact-router-dom- Routingaxios- HTTP clientcontext API- State management
- Create React App toolchain
- Testing utilities
- Build optimization tools
REACT_APP_URI: Backend API base URLPORT: Port where backend must runMONGO_URI: MongoDB database url
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Mobile browsers
- Requires JavaScript enabled