Skip to content

CollegeRideOut/taperOffv1

Repository files navigation

taperOff

A smoking/vaping cessation companion app. Track usage, visualize progress, and taper off at your own pace — with or without a smart device.


Architecture

taperOffv1/
├── app/                  # Expo Router screens
├── components/           # Reusable UI components
├── db/                   # SQLite database (model + repo)
├── constants/            # App constants and theme
├── util/                 # Utilities
├── assets/               # Images, fonts, icons
└── provider.tsx          # React context providers

Features

  • Usage tracking — log every hit/puff with timestamps
  • Circular progress — visual daily/weekly/monthly goals via react-native-circular-progress
  • Charts — detailed usage history with react-native-gifted-charts
  • Bluetooth device pairing — scan for and connect to vape devices via react-native-bluetooth-classic
  • Notifications — reminders and motivational nudges via Expo Notifications + Task Manager
  • Local-first — all data stored locally in SQLite via expo-sqlite
  • Date selection — pick any date to review past usage with react-native-date-picker
  • Device management — dedicated screens for device list, connection, and tracking status
  • Monthly overview — heatmap/card view of monthly usage patterns

Key Components

Component Purpose
ConnectionScreen Bluetooth pairing UI
DeviceListScreen Discovered devices list
DevicesTrack Active device tracking
MontlyData Monthly usage breakdown
NoDevice Empty state when no device is paired
device.tsx Device data model component

Data Layer

db/
├── db.ts          # SQLite database initialization
├── model/         # Data models
└── repo/          # CRUD operations

Tech Stack

  • Framework: Expo (React Native)
  • Navigation: Expo Router (file-based)
  • Database: SQLite via expo-sqlite
  • Bluetooth: react-native-bluetooth-classic
  • Charts: react-native-gifted-charts
  • Progress: react-native-circular-progress
  • Notifications: Expo Notifications + Task Manager
  • UI: Linear gradients, modals, date picker

Quick Start

git clone https://github.com/CollegeRideOut/taperOffv1
cd taperOffv1
npm install
npx expo start

Status

Production-ready Expo app with local SQLite storage, Bluetooth device pairing, usage tracking, charts, and notifications. Works standalone or paired with a compatible device.


License

MIT

About

A smoking/vaping cessation companion app. Track usage, visualize progress, and taper off at your own pace — with or without a smart device.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors