https://github.com/chenbingwei1201/medicationtrackingapp
This is the final project of Networking and Multimedia Lab in NTUEE. We use MediaPipe to track the user's medication intake with Pi cam and store the data into Supabase. We also build this app with React Native Expo Router to display the user's medication history and remind the user to take their medication between the time intervals he/she sets.
https://github.com/chenbingwei1201/medicationtrackingapp
android expo ios mediapipe nativewind opencv pi-camera python3 raspberry-pi raspberry-pi-4 raspberrypi react-native supabase tailwindcss tanstack-react-query typescript
Last synced: 2 months ago
JSON representation
This is the final project of Networking and Multimedia Lab in NTUEE. We use MediaPipe to track the user's medication intake with Pi cam and store the data into Supabase. We also build this app with React Native Expo Router to display the user's medication history and remind the user to take their medication between the time intervals he/she sets.
- Host: GitHub
- URL: https://github.com/chenbingwei1201/medicationtrackingapp
- Owner: ChenBingWei1201
- License: mit
- Created: 2024-12-16T06:01:06.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-30T10:57:50.000Z (over 1 year ago)
- Last Synced: 2025-02-05T14:17:31.207Z (over 1 year ago)
- Topics: android, expo, ios, mediapipe, nativewind, opencv, pi-camera, python3, raspberry-pi, raspberry-pi-4, raspberrypi, react-native, supabase, tailwindcss, tanstack-react-query, typescript
- Language: TypeScript
- Homepage:
- Size: 2.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
MedicationTrackingApp

This is the final project of Electrical Engineering Lab (Networking and Multimedia) in NTUEE. We use MediaPipe to track the user's medication intake with Pi cam and store the data into Supabase. We also build this app with React Native Expo Router to display the user's medication history and remind the user to take their medication between the time intervals he/she sets. Feel free to give us a star (โยดโก`โ). Your support is our energy to create better projects! [Live demo](https://drive.google.com/drive/folders/16iHki0Dm4yHXm4xOsHz8CBZsnXuHVqFX?usp=sharing)
## ๐ Table of Contents
1. ๐ค [Introduction](#introduction)
2. โ๏ธ [Tech Stack](#tech-stack)
3. ๐ [Features](#features)
4. ๐คธ [Quick Start](#quick-start)
5. ๐ [Reference](#reference)
### Our Idea
#### Flow

#### Medication-taking posture not triggered

#### Successfully triggered the medicine-taking posture

#### Schema

#### App Interface

- React Native Expo
- Tanstack Query
- TypeScript
- Tailwind CSS/Nativewind
- Supabase
- MediaPipe
- OpenCV
๐ **Robust Authentication**: Secure and reliable user login and registration system with Supabase authentication. Password will be hashed before stored in Supabase.
๐ **Medication Tracking**: Use MediaPipe to track the user's medication intake and store the data into Supabase.
๐ **Medication Reminder**: Create a new notification in Supabase and remind the user to take medication simultaneously.
๐ **Medication Logs**: Store the user's medication logs in Supabase and display it the app simultaneously.
Follow these steps to set up the project locally on your machine.
**Prerequisites**
Make sure you have the following installed on your machine:
- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/en) (node version higher than v20._._)
- [pnpm](https://pnpm.io/)
- [Android Studio](https://developer.android.com/studio) or [Xcode](https://developer.apple.com/xcode/)
- [Python](https://www.python.org/downloads/)
- [pip](https://pip.pypa.io/en/stable/installation/)
### 1. Cloning the Repository
```bash
git clone https://github.com/ChenBingWei1201/MedicationTrackingApp.git
cd MedicationTrackingApp
```
### 2. Install the project dependencies
```bash
# MedicationTrackingApp
pnpm i
```
### 3. Set Up Environment Variables
```bash
# MedicationTrackingApp
cp .env.development .env.local
```
in .env.local
```env
# Supabase
EXPO_PUBLIC_SUPABASE_URL=
EXPO_PUBLIC_SUPABASE_ANON_KEY=
```
Replace the placeholder values with your actual Supabase credentials. You can obtain these credentials by signing up on the [Supabase](https://supabase.com/dashboard/projects) website.
### 4. Running the app
- Android (android studio must be installed)
```bash
# MedicationTrackingApp
pnpm android
```
it will open the app in android emulator
- iOS (xcode must be installed)
```bash
# MedicationTrackingApp
pnpm ios
```
it will open the app in ios simulator
### 5. Running the MediaPipe Model to track the user's medication intake
read the [README.md](./mediapipe/README.md) in the `mediapipe` folder
- [Expo](https://docs.expo.dev/get-started/create-a-project/)
- [React Native Full 8 Hours Course (Expo, Expo Router, Supabase)](https://youtu.be/rIYzLhkG9TA?feature=shared)
- [Tanstack Query](https://tanstack.com/query/latest/docs/framework/react/overview)
- [Supabase](https://supabase.com/docs/guides/getting-started/tutorials/with-expo-react-native)
- [Nativewind](https://www.nativewind.dev/getting-started/expo-router)
- [MediaPipe](https://ai.google.dev/edge/mediapipe/solutions/vision/gesture_recognizer/python)