This is a Next.js 16 application designed for medical professionals to manage patient profiles, generate prescriptions, and utilize AI-powered suggestions.
- Patient Profiling: Manage patient data and history.
- AI Suggestions: Powered by Google Gemini AI for diagnostic tests, advice, and medicine suggestions.
- Prescription Generation: Generate PDF prescriptions using JSReport.
- Doctor Landing Pages: Dynamic public profiles for doctors.
- Cloud Storage: Secure file uploads using AWS S3 and Firebase Storage.
- Real-time Database: Data synchronization with Firebase Realtime Database.
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Auth & Database: Firebase
- File Storage: AWS S3 & Firebase Storage
- AI: Google Gemini
- PDF Generation: JSReport
Ensure you have the following installed:
git clone <repository-url>
cd medical-profilernpm installCreate a .env.local file in the root directory by copying the example file:
cp env.example .env.localOpen .env.local and fill in the required environment variables:
- Firebase Config: API Key, Auth Domain, Project ID, Storage Bucket, Messaging Sender ID, App ID, Measurement ID, Database URL.
- AWS S3: Region, Endpoint, Access Key, Secret Key, Bucket Name, Public URL Prefix.
- Gemini AI: API Key.
- External Services: JSReport URL, Base URL.
Note: For local development, you can use the default values provided in the example for some non-sensitive fields if applicable, but for full functionality, valid credentials are required.
npm run devOpen http://localhost:3000 with your browser to see the result.
npm run dev: Starts the development server.npm run build: Builds the application for production.npm run start: Starts the production server.npm run lint: Runs ESLint to check for code quality.
app/: Next.js App Router pages and layouts.components/: Reusable React components.lib/: Utility functions and configuration (Firebase, S3, Prisma).public/: Static assets.prescriptions/: Templates or assets related to prescriptions.
- Fork the project.
- 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.