FoodRxCheck is a mobile application built with React Native and Expo that helps users and healthcare professionals check food-drug interactions quickly and safely. The app provides search and lookup features for various drugs, their subclasses, and potential interactions with food items, aiming to promote safer medication practices and better patient outcomes.
FoodRxCheck enables patients and healthcare providers to:
- Search for drugs and find their subclasses.
- Explore food-drug interactions using a simple search interface.
- Manage selected drugs and view their potential interactions.
- Authenticate users (patients and healthcare professionals) and manage sessions.
- Update user password and manage profile securely.
The backend is powered by Supabase, which handles authentication and database queries for drugs, subclasses, and interactions.
- 🔎 Food/Drug Search: Find drugs, subclasses, and food interactions.
- 👩⚕️ Dual User Access: Patient and Healthcare Professional roles.
- 🔒 Authentication: Secure signup, login, and password reset.
- 📱 Cross-Platform: Works on Android, iOS, and web (via Expo).
- ⚡ Live Data: Fetches data in real-time using Supabase.
- 🎨 Modern UI: React Native components, file-based routing, and smooth navigation.
- 🛠️ Easy Customization: Simple structure for adding new features or modifying data sources.
- Frontend: React Native, Expo, TypeScript, React Navigation
- Backend: Supabase (PostgreSQL & Auth)
- State Management: React Hooks, React Query
- Other: AsyncStorage, Expo Router
git clone https://github.com/taslim121/FoodRxCheck_React_Native.git
cd FoodRxCheck_React_Nativenpm install
# or
yarn installThe app uses Supabase for backend services. You need to set your Supabase API URL and Anon Key in environment variables.
Create a .env file in the root directory and add:
EXPO_PUBLIC_API_URL=your_supabase_url
EXPO_PUBLIC_API_KEY=your_supabase_anon_key
Note: Never commit your secrets to version control.
npx expo startYou can choose to run the app on:
- Android Emulator
- iOS Simulator
- Expo Go (scan the QR code on your mobile device)
To reset the starter code:
npm run reset-projectThis will move the starter code to the app-example directory and create a blank app directory for development.
FoodRxCheck_React_Native/
├── src/
│ ├── app/ # App screens (auth, search, drug details, etc.)
│ ├── components/ # Reusable UI components (SearchBar, FoodSearch, etc.)
│ ├── provider/ # Context Providers (AuthProvider, DrugsProvider)
│ ├── lib/ # Supabase client and utilities
│ └── utils/ # Utility functions (e.g., parsehttp)
├── app-example/ # Example app after project reset
├── README.md
├── package.json
└── ...
| Variable | Description |
|---|---|
| EXPO_PUBLIC_API_URL | Your Supabase project API URL |
| EXPO_PUBLIC_API_KEY | Your Supabase anon/public API key |
Contributions are welcome! To contribute:
- Fork the repository
- Create a new branch:
git checkout -b my-feature - Make your changes and commit them:
git commit -m 'Add some feature' - Push to the branch:
git push origin my-feature - Create a pull request
This project is licensed under the MIT License.