An open API service indexing awesome lists of open source software.

https://github.com/alexsantosdev/daily-gym

A mobile-first fitness tracking web app with workouts, meals, streaks, and competitive gamification (groups, challenges, and activity-based scoring) powered by Next.js and Firebase.
https://github.com/alexsantosdev/daily-gym

Last synced: 2 days ago
JSON representation

A mobile-first fitness tracking web app with workouts, meals, streaks, and competitive gamification (groups, challenges, and activity-based scoring) powered by Next.js and Firebase.

Awesome Lists containing this project

README

          

# 🏋️‍♂️ daily-gym

Um web app mobile-first para acompanhamento de fitness, pensado para a vida real.

O daily-gym combina planejamento de treinos, registro de refeições, atividades físicas, ofensivas (streaks) e gamificação com competição entre amigos — tudo em uma experiência simples, rápida e com visual premium.

---

## ✨ Funcionalidades

### 📊 Dashboard
- Visão geral do dia (treinos, refeições e atividades)
- Acompanhamento de consistência semanal
- Banner competitivo (posição no ranking do grupo)
- Ações rápidas para registro

---

### 🏋️ Treinos
- Criação de planos de treino (por objetivo e dias da semana)
- Associação de treinos a dias específicos (ex: Segunda = Superior)
- Registro de execução:
- Séries, repetições e carga
- Controle de progresso por exercício
- Horário de início e fim
- Foto opcional do treino (comprovante)
- Visualização estilo “ficha de treino” (como um papel impresso da academia)

---

### 🍽️ Refeições
- Registro de refeições com:
- Foto
- Tipo (café da manhã, almoço, etc.)
- Descrição e observações
- Histórico visual
- Fluxo rápido otimizado para mobile

---

### 🏃 Atividades
- Registro de atividades fora da academia:
- Caminhada, corrida, dança, zumba, etc.
- Campos:
- Nome da atividade
- Duração (opcional)
- Foto (opcional)
- Observações
- Integração com:
- Calendário
- Sistema de competição

---

### 📅 Calendário
- Visual mensal completo
- Exibe:
- Treinos
- Atividades
- Fotos (treino/atividade/refeição)
- Detalhes por dia
- Inspirado em apps como Gym Rats

---

### 🔥 Ofensivas (Streaks)
- Controle de consistência baseado no plano de treino
- Regras inteligentes:
- Apenas dias planejados contam
- Dias de descanso NÃO quebram ofensiva
- Falhar um dia planejado reseta a sequência
- Acompanhamento semanal e histórico
- Visualização no calendário

---

### 🏆 Competição (Grupos)
- Criar grupo ou entrar com código
- Competir com amigos com base em:
- Treinos executados
- Atividades registradas
- Fotos
- Check-ins
- Recursos:
- Ranking semanal
- Feed de atividades
- Comparação direta com rivais
- Banner no dashboard:
- Mostra se você está ganhando ou perdendo
- Exibe diferença de pontos

---

### 📸 Feed de Atividades
- Feed em tempo real dentro dos grupos
- Exibe:
- Treinos
- Atividades
- Fotos
- Foco em motivação e competição saudável

---

### 📈 Relatórios
- Consistência de treinos
- Comparação planejado vs executado
- Tendências de atividade
- Padrões de refeições
- Preparado para análise com IA (GPT)

---

## 🧠 Sistema de Pontuação

Pontuação base:

- Treino concluído → +100
- Foto de treino → +30
- Atividade registrada → +40
- Foto de atividade → +20
- Check-in → +20
- Semana perfeita → +150

Foco:
- Consistência
- Disciplina
- Movimento real
- Competição saudável

---

## 🧱 Stack Tecnológica

- **Next.js**
- **TypeScript**
- **Tailwind CSS**
- **shadcn/ui**
- **Firebase**
- Auth
- Firestore
- Storage
- **Recharts**
- **Phosphor Icons**

---

## 📱 Filosofia de Design

- Mobile-first (experiência de app)
- Visual minimalista e premium (inspirado no Linear)
- Registro rápido e sem fricção
- Clareza visual acima de complexidade
- Design system baseado em fúcsia (preset customizado)

---

## 📂 Estrutura do Projeto
app/
components/
dashboard/
workouts/
meals/
activities/
calendar/
groups/
reports/
layout/
lib/
services/
types/
hooks/

---

## 🔐 Configuração de Ambiente

Crie um arquivo `.env.local`:

```env
NEXT_PUBLIC_FIREBASE_API_KEY=
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=
NEXT_PUBLIC_FIREBASE_PROJECT_ID=
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
NEXT_PUBLIC_FIREBASE_APP_ID=

OPENAI_API_KEY= # opcional (para relatórios futuros)
```
---

## 🚀 Rodando o Projeto
pnpm install
pnpm dev
🧪 Scripts
pnpm dev
pnpm build
pnpm lint
pnpm typecheck
📌 Roadmap
Integração real com GPT para análises
Notificações (lembretes e competição)
Dashboards mais avançados
PWA (instalável no celular)
Suporte offline
Evolução da gamificação

---

## 🤝 Contribuição

Projeto inicialmente focado para uso pessoal, mas estruturado para escalar.

---

## 📄 Licença

MIT (ou privada, conforme decisão)

💡 Filosofia

Isso não é só um app de registro.
É um sistema para construir consistência através de visibilidade, simplicidade e competição.

---

## 🔥 Autor

Desenvolvido por @alexsantosdev com foco em usabilidade real, rotina e disciplina.