An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

MedicationTrackingApp

![License](https://img.shields.io/badge/license-MIT-blue)

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)

## ๐Ÿค– Introduction

### Our Idea

#### Flow

![flow](/assets/images/flow.png)

#### Medication-taking posture not triggered

![no](/assets/images/no.png)

#### Successfully triggered the medicine-taking posture

![yes](/assets/images/yes.png)

#### Schema

![schema](/assets/images/schema.png)

#### App Interface

![app](/assets/images/app.png)

## โš™๏ธ Tech Stack

- React Native Expo
- Tanstack Query
- TypeScript
- Tailwind CSS/Nativewind
- Supabase
- MediaPipe
- OpenCV

## ๐Ÿ”‹ Features

๐Ÿ‘‰ **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.

## ๐Ÿคธ Quick Start

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

## ๐Ÿš€ Reference

- [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)