ReassurED is a mobile application (built with React Native and Expo) designed to help users find and access mental health care services efficiently. It provides real-time wait times, hospital recommendations, symptom checking, and care pathway tracking. This project integrates several services including Firebase for data storage, Auth0 for authentication, and OpenAI-based DeepSeek LLM for AI-driven triage and pathway recommendations.
- Authentication (Auth0): Secure user authentication.
- Location Services (Expo Location): Find nearby hospitals or care facilities.
- Symptom Checker: Initial assessment of user symptoms to help triage.
- AI-Driven Triage: Uses DeepSeek LLM to refine triage levels.
- Hospital Recommendations: Provide multiple hospital options sorted by estimated total wait times + travel.
- Care Pathway Tracking: Track your position in the care journey with dynamic step editing.
Before you begin, ensure you have the following installed:
- Node.js (v14 or higher)
- Yarn (v1.22 or higher)
- Expo CLI
- Mobile simulator (iOS or Android) or a physical device
- Create a
.envfile (at the root of the "frontend" folder) for Firebase and other environment variables (listed under “src/config/firebase.js” and “src/config/validateEnv.js”). - Create an
auth0-configuration.jsfile in the root of "frontend" folder with your Auth0 domain and client ID.
- Clone the repository:
git clone https://github.com/your-username/reassured-frontend.git cd reassured-frontend - Install dependencies:
yarn install
- Start the development server:
yarn start
Once the development server has started, you can run the app in any of the following modes:
- iOS Simulator:
yarn ios
- Android Emulator:
yarn android
- Web Browser:
yarn web
- React Native & Expo: Core framework for cross-platform mobile development.
- React Navigation: Handles multilevel navigation (tabs, stacks).
- Auth0: Authentication handling services.
- Firebase (Firestore): Database to store and sync data.
- OpenAI/DeepSeek: AI-based triage and pathway recommendation.
- React Native Maps & Expo Location: Map integration and location-based services.
- AsyncStorage: Local storage for lighter caching.
-
App.js
- Configures the Auth0 provider.
- Wraps the main app in the Context Providers for Auth and Hospital data.
- Sets up navigation.
-
src/navigation
- Contains stack and tab navigators.
- Defines the main user flow for login, symptom checking, hospital recommendations, and status tracking.
-
src/screens
- Various screens, such as:
- LoginScreen: Handles Auth0 login.
- SymptomCheckerScreen: Collects symptom input from the user.
- TriageResultsScreen: Displays triage level details.
- PathwayStatusScreen: Shows and edits the user’s care pathway.
- HospitalRecommendationScreen: Displays hospital list & map.
- Various screens, such as:
-
src/context
- AuthContext: Tracks user’s authentication state.
- HospitalContext: Stores the selected hospital and user’s triage level.
-
src/services
- deepseekApi.js: Integrates with the AI model for triage and pathway guidance.
- hospitalService.js: Utility functions for hospital data & wait times.
- locationService.js: Checks device location services and retrieves location.
-
frontend/README.md
- Frontend-specific instructions primarily focusing on how to run the Expo project.
- Fork the repository
- 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
This project is licensed under the MIT License - see the LICENSE file for details.
For support, please email support@reassured.com or open an issue in the repository.
- Auth0 for authentication services
- Firebase for backend services
- OpenAI (DeepSeek) for AI-driven triage & care pathway generation
- Expo & React Native for rapid development
- Google Maps for location and map data
Thank you for your interest in ReassurED! If you have any questions about the project, feel free to reach out in the Issues section or contact us via email.