Skip to content

wryandginger/poly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦜 Poly: A Medication & Wellness Manager

Poly is a secure, context-aware medication tracking and compliance dashboard built with Python and Gradio.

It handles multiple users or a whole family, tracking vitals and medications.

  • ✨ I vibecoded Poly from Google's free AI mode, I'm sorry.

  • ⚠️ Future edits are coming to clean up the UI and Python mess.

  • πŸ•΅οΈ While I used AI to help me build this, this project does NOT interact with ANY generative AI service/system.

  • β“˜ This is basic and simple. This is designed for homelab folks who need to manage multiple meds.

  • πŸ›οΈ I did a lot of philosophical work for you: It's morally fine, as long as you don't commercialize this, exploit me, or use Poly for evil.

  • πŸ–¨οΈ Pairs well with my 3D printable Polypharmacy Kit


πŸš€ Core Features

πŸ” Features
  • Context-Aware Data Tracking: Adjusts automatically to present sleep metrics in the morning and structured emotional grid selections during mid-day or night.
  • Sedcured Data: Isolates user records dynamically using absolute relational database keys, preventing cross-profile lookups.
  • Exportable Data: Filter and preview compliance history as a table right on the interface before downloading a customized CSV file you can share with a health provider.
  • Admin User/Panel: Restricted management portal for system administrators/heads of household to add or delete users.

πŸ“Έ Take a look:

πŸ–ΌοΈ Example Screenshots

Check-In / Track Sleep

Daily Check-In

Track Mood:

Daily Check-In

Export Data:

Export Data

Medication Setup:

Export Data

Administrator Portal & Directory:

Admin User Manager


πŸ› οΈ Installation & Deployment

You can run this as python poly.py, but that's not as good as:

🐳 Option 1: Docker CLI

Step 1: Clone and Prepare Workspace

Move your poly.py file and your Dockerfile into a target deployment directory on your host.

Step 2: Build and Run Container Instance

Execute the statement block below in your command-line. Adjust the enviornment variables as desired:

docker run -d \
  --name poly_med_tracker \
  -p 7436:7436 \
  -e TZ=America/Los_Angeles \
  -e POLY_ADMIN_USER="ChiefMedicalOfficer" \
  -e POLY_ADMIN_PASS="UltraSecurePass2026!" \
  -e POLY_DB_PATH="/data/poly_med_tracker.db" \
  -v ./poly_data:/data \
  --restart unless-stopped \
  \$(docker build -q .)
🚒 Option 2: Portainer Deployment

Step 1: Open Portainer Dashboard

  • Create a New Web Stack via Git Repository
    • Navigate to your Portainer web portal dashboard.
    • Click on Stacks in the left sidebar menu, and press the Add stack button.
    • Under Build method, select Repository.
  • Configure Git Repository Settings:

🚨 Step 2: Adjust Environment Variables inside Portainer:

  • Scroll down to the Environment variables configuration section on the page.
  • Click Add environment variable to override your app's default login security values:
Set POLY_ADMIN_USER to your preferred username (e.g., Jane).
Set POLY_ADMIN_PASS to a strong unique credential password.

Step 3: Deploy Stack:

  • Scroll down to the footer and press Deploy the stack.
  • Everything should build automatically.

Step 4: Verify/Change Your Host's Local Volume Mount Points

  • Portainer deploys stack folders out of a default directory.
  • To change where your data is saved, first deploy the default project from github, then detach the stack from github.
  • You should then be able to change the docker-compose.yml properties or add host volume path adjustments as needed.

πŸ”“ Defaults

  • localhost:7436
  • Admin Username: BeverlyCrusher (Override using environment variable: POLY_ADMIN_USER)
  • Admin Password: Crusher22BetaCharlie (Override using POLY_ADMIN_PASS)

About

🦜 Poly: a Medication & Wellness Manager

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages