A mobile-first todo app with real-time sharing, smooth drag-and-drop, and app-like mobile UX.
Live: https://tachado.netlify.app
- Real-time sync (Firebase Realtime Database)
- Session sharing with memorable URLs (e.g.,
bravo-zorro-123) - Drag & drop reordering (SortableJS)
- Swipe to delete completed items (with haptics)
- Offline-first with localStorage fallback
- PWA: installable, works offline, service worker + manifest
- Modern, glass-morphism UI with smooth animations
Prereqs: Node 18+, npm
git clone https://github.com/grojasv/tachado.git
cd tachado
npm install
cp env.example .env # add your Firebase values
npm run dev # http://localhost:4321Create .env from env.example and fill in Firebase config (PUBLIC_ keys are exposed to client):
PUBLIC_FIREBASE_API_KEY=
PUBLIC_FIREBASE_AUTH_DOMAIN=
PUBLIC_FIREBASE_DATABASE_URL=
PUBLIC_FIREBASE_PROJECT_ID=
PUBLIC_FIREBASE_STORAGE_BUCKET=
PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
PUBLIC_FIREBASE_APP_ID=
Note: After changing .env, restart the dev server so Astro picks up new values.
| Command | Action |
|---|---|
| npm install | Install dependencies |
| npm run dev | Start dev server (http://localhost:4321) |
| npm run build | Build to dist/ |
| npm run preview | Preview the production build |
- Connect repo on Netlify (New site from Git β select
tachado). - Build command:
npm run buildΒ· Publish directory:dist - Environment variables: add all
PUBLIC_FIREBASE_*from.env - Deploy. Netlify will auto-deploy on push to
main.
- Install from browser (Add to Home Screen)
- Safe-area padding for iOS
- Native-like gestures and subtle haptics
See PROJECT_PLAN.md for phases, status, and next tasks.
- Phases 1β7: Completed
- Phase 8: In Progress (mobile app-like polish)