Aplicación móvil para Android de gestión de tareas con gamificación social. Crea grupos privados, comparte tareas, compite en rankings y acumula puntos con tu equipo.
TaskSquad/
├── backend/ NestJS + PostgreSQL + Redis
└── app/ Expo (React Native) — Android
| Capa | Tecnología |
|---|---|
| Backend | NestJS, Prisma 7, PostgreSQL 17, Redis, Socket.IO |
| App | Expo SDK 54, React Native, NativeWind, Zustand, TanStack Query |
| Auth | JWT (access + refresh), Google OAuth, Argon2 |
| Push | Expo Push Notifications |
| Pagos | Stripe |
| Infra | Docker Compose, Nginx (externo) |
- Node.js 22+
- pnpm 11+
- Docker Desktop
- Expo Go (Android) — SDK 54
cd backend
# 1. Variables de entorno
cp .env.example .env
# Edita .env con tus valores locales
# 2. Base de datos y Redis
docker compose up -d
# 3. Dependencias
pnpm install
# 4. Migración + seed
pnpm db:migrate # nombre: init
pnpm db:seed
# 5. Servidor de desarrollo
pnpm start:devAPI disponible en http://localhost:3000
Swagger UI en http://localhost:3000/docs
cd app
# 1. Variable de entorno
# En emulador Android:
echo "EXPO_PUBLIC_API_URL=http://10.0.2.2:3000" > .env
# En dispositivo físico (misma red WiFi):
echo "EXPO_PUBLIC_API_URL=http://TU_IP_LOCAL:3000" > .env
# 2. Dependencias
npm install --legacy-peer-deps
# 3. Arrancar Metro
npx expo start --clearEscanea el QR con Expo Go o presiona a para emulador Android.
| Contraseña | Rol | |
|---|---|---|
kamer@tasksquad.dev |
password123 |
Owner |
ana@tasksquad.dev |
password123 |
Admin |
juan@tasksquad.dev |
password123 |
Member |
Código de grupo: SQUAD001
Ver docs/production.md para la guía completa de deploy.
Ver docs/apk-guide.md para generar y distribuir el APK.
pnpm build # Compilar TypeScript
pnpm start:prod # Servidor de producción
pnpm db:generate # Regenerar cliente Prisma
pnpm db:migrate # Nueva migración (dev)
pnpm db:migrate:deploy # Aplicar migraciones (prod)
pnpm db:seed # Seed de datos
pnpm db:studio # Prisma Studio
pnpm type-check # Verificar tipos sin compilarbash deploy.sh # Deploy normal
bash deploy.sh --seed # Deploy + seed (primer deploy)