CareBridge is an AI-powered post-operative recovery assistant designed to help patients access medication and monitor their recovery in the days and weeks after surgery. The app tackles two major challenges: locating prescribed drugs and ensuring proper aftercare follow-up.
- Address Input: Users can enter their home address in the GTA
- Nearby Search: Find all pharmacies within a 5-10km radius
- Interactive Map: Google Maps integration showing pharmacy locations
- Detailed Information: Pharmacy ratings, opening hours, and distances
- File Upload: Upload prescription documents (PNG, JPG, PDF)
- Daily AI-powered check-ins powered by Gemini
- Medication tracking and reminders
- Symptom monitoring and red flag detection
- Automated doctor summaries
- Frontend: Next.js 15, React 19, TypeScript
- Styling: Tailwind CSS
- Maps: Google Maps JavaScript API, Places API, Geocoding API
- Backend: Python Flask (in development)
- Database: MongoDB (planned)
- Node.js: Version 18 or higher
- npm: Package manager
- Google Cloud Account: For Maps API access
-
Clone the repository:
git clone <repository-url> cd terrahacks/frontend/terra
-
Install dependencies:
npm install npm install @googlemaps/js-api-loader
-
Set up Google Maps API:
- Get your API key from Google Cloud Console
- Enable: Maps JavaScript API, Places API, Geocoding API
- Create a
.env.localfile in thefrontend/terradirectory
-
Add your API key:
NEXT_PUBLIC_GOOGLE_MAPS_API_KEY=your_actual_api_key_here
-
Run the development server:
npm run dev
-
Open your browser: Navigate to http://localhost:3000
frontend/terra/
├── app/
│ ├── components/
│ │ ├── PharmacyLocator.tsx # Main pharmacy locator component
│ │ └── FileUpload.tsx # File upload component
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Main page
│ └── globals.css # Global styles
├── types/
│ └── google-maps.d.ts # Google Maps TypeScript definitions
├── public/ # Static assets
├── .env.local # Environment variables (create this)
└── README.md # This file
The application requires a valid Google Maps API key to function. Make sure you have:
- Google Maps API key with the following APIs enabled:
- Maps JavaScript API
- Places API
- Geocoding API
- API key restrictions set to allow
localhost:3000/*for development - Billing enabled on your Google Cloud project
- Supported formats: PNG, JPG, JPEG, PDF
- Maximum file size: 10MB
- Drag and drop functionality available
The frontend is designed to integrate with a Flask backend for:
- File storage and processing
- User authentication
- Prescription management
- AI check-in data storage
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- TypeScript for type safety
- Tailwind CSS for styling
- Component-based architecture
- Responsive design
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
The app can be deployed to any platform that supports Next.js:
- Netlify
- Railway
- DigitalOcean App Platform
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Check the setup guides in the project
- Review the Google Maps API documentation
- Open an issue in the repository
- Backend API development
- User authentication
- AI check-in system
- Mobile app development
- Integration with pharmacy systems
- Multi-language support