Skip to content

pablopilaa/agujetas

Repository files navigation

Agujetas

Personal training app for tracking workouts, routines and body weight. Built with React Native + Expo (TypeScript).

🚀 Highlights (v1.0.2)

  • ⏱️ Dual timers (up/down) with in‑app sound at 00:00
  • 🏋️ Exercise management with per‑series checkbox (done)
  • 📚 Session types and routines (assign, edit, reorder)
  • 📅 Calendar with day details and historical exports (CSV/XLSX)
  • ⚖️ Body weight tracking (add / view / export, with per‑entry delete)
  • 📤 Standardized exports with locale‑aware dates (includes end day)
  • 👋 Welcome screen on cold start (1 second)
  • 🔕 No external push notifications (no permissions required)

🛠️ Tech Stack

  • React Native 0.79.5 · Expo SDK 53 · TypeScript 5.8
  • AsyncStorage (data) · Expo AV (sound) · Safe Area Context
  • XLSX for Excel generation

⚡ Quick Start

  1. Clone & install
git clone https://github.com/pablopilaa/agujetas.git
cd agujetas
npm install
  1. Run (tunnel for QR)
npx expo start --tunnel

📦 Production build (EAS)

npx eas build -p android --profile production

📁 Structure

components/  # UI (SideMenu, SessionSelector, ExerciseList, TimerBar)
utils/       # storage, theme, design tokens
assets/      # icons/logos/sounds
App.tsx      # app root
app.json     # Expo config

📊 Export columns

fecha, fecha_hora_iso, mes, semana_iso, dia_semana, rutina, rutina_id, duracion_hhmmss, duracion_seg, orden_ejercicio, numero_serie, musculo, lado, repeticiones, peso_kg, rir, volumen_kg, peso_corporal_kg

🤝 Contributing

Personal project; contributions are welcome. See CONTRIBUTING.md.

📄 License

MIT — see LICENSE.

👤 Author

Pablo Pila — @pablopilaa · LinkedIn