Skip to content
damale4Public

About

PWA Private and Offline App That will track Projects, Budget, ,Diet and Jym. All Data on the device with IndexedDB

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Mia — your life connected

Mia is a private, offline-first Progressive Web App (PWA) to track projects, finances, study, meals, and workouts. All data stays on your device in IndexedDB — no account, no backend, no analytics.

Available in Italian and English (choose on first visit or under More → Language).


What Mia does

Area Features
Home Daily journal: to-dos, expenses, study, meals, workouts, project updates; month overview
Projects Goals with status, progress logs, idle reminders
Finance Income & expenses, categories, expense groups, credit-card statements with line items
Study Sessions with duration and subject
Health Meal diary + physical activity
More PDF reports, JSON backup/restore, PIN lock, reminders, language

Quick start (local)

Mia is a static site — no build step.

# Clone the repo
git clone https://github.com/Mast232/Mia.git
cd Mia

# Serve over HTTP (required for service worker)
npx serve .

Open the URL shown (e.g. http://localhost:3000). Use localhost or HTTPS so the service worker can register.


Install as a PWA

Live app: https://mia-eight-phi.vercel.app/

Install Mia from that URL (or your own deploy) on your phone or desktop:

iPhone / iPad (Safari)

  1. Open https://mia-eight-phi.vercel.app/ in Safari
  2. Tap Share → Add to Home Screen
  3. Launch Mia from the home screen icon
  4. On first launch: choose language, then set a 4–6 digit PIN

Links from WhatsApp open in Safari’s in-app browser, not the installed PWA. Use “Received a link? Import it here” on Home to paste shared to-do links.

Android (Chrome)

  1. Open https://mia-eight-phi.vercel.app/ in Chrome
  2. Tap the menu → Install app / Add to Home screen
  3. Choose language and PIN on first run

Desktop (Chrome, Edge)

  1. Open https://mia-eight-phi.vercel.app/
  2. Click the install icon in the address bar (or browser menu → Install)
  3. Mia runs in its own window like a native app

Project structure

Mia/
├── index.html      # Entire UI + application logic (main file for features)
├── i18n.js         # Italian / English strings and language helpers
├── guide-i18n.js   # Bilingual in-app guide and onboarding content
├── fonts.css       # Embedded Inter & Fraunces fonts (base64)
├── sw.js           # Service worker (offline cache + updates)
├── manifest.json   # PWA manifest (name, icons, theme)
├── jspdf.umd.min.js
├── assets/         # Background & hero illustrations (WebP)
└── *.png           # App icons

To add a feature, edit index.html (and i18n.js if you add user-visible text).


Data & privacy

  • Storage: IndexedDB on your device only
  • PIN: Convenience lock (once per day), not encryption
  • Backup: More → Export backup → .json file
  • Restore: More → Import backup (replaces current data)
  • Reports: PDF generated locally via jsPDF; share with the system sheet
  • To-do sharing: Optional link export (base64 in URL hash); no server involved

Export a backup before clearing browser data or uninstalling.

See SECURITY.md for the security model and how to report issues.


Deploy

The repo is set up for Vercel (vercel.json included): push to main to deploy.

Any static host works: Netlify, GitHub Pages, Cloudflare Pages, etc. Serve the root folder over HTTPS.

After deploy, bump the cache version in sw.js (const CACHE = 'mia-vXX') when you change index.html or i18n.js.


Development notes

  • Cache: Service worker uses network-first for index.html, cache-first for assets
  • Version: APP_VERSION in index.html drives the “What’s new” card
  • DB schema: DB_VER in index.html; migrations run in indexedDB.onupgradeneeded
  • Language: Persisted in IndexedDB meta keys lang and langChosen

Run without npx serve

python3 -m http.server 8080
# open http://localhost:8080

Contributing

Issues and pull requests are welcome. Keep changes focused; match existing patterns in index.html.


License

MIT — see LICENSE. You are free to use, modify, and distribute Mia with attribution.

About

PWA Private and Offline App That will track Projects, Budget, ,Diet and Jym. All Data on the device with IndexedDB

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages