Skip to content

icrcode/gym-notes

Repository files navigation

GymNotes

GymNotes é um aplicativo web moderno e responsivo para organizar treinos de academia, visualizar progresso e engajar com a comunidade fitness.

Nota: Este projeto foi desenvolvido como um estudo sobre Qualidade de Código, explorando os impactos da abordagem conhecida como Vibe Coding no processo de desenvolvimento de software.

A proposta é priorizar a concepção, a comunicação e a tomada de decisões arquiteturais por meio de linguagem natural, reduzindo ao máximo a escrita manual de código. O desenvolvimento é conduzido quase integralmente através de interações com ferramentas de Inteligência Artificial, utilizando o ecossistema de IA da Google.

Atualmente, o projeto é desenvolvido com o auxílio do Antigravity IDE, dos serviços de IA do Google Cloud e das ferramentas de desenvolvimento derivadas do antigo Firebase Studio.

Embora a abordagem privilegie velocidade e experimentação, o projeto busca manter elevados padrões de qualidade, incluindo uma interface moderna e intuitiva, componentização consistente, arquitetura escalável e uma experiência de usuário cuidadosamente projetada.

O objetivo principal é avaliar até que ponto uma aplicação pode ser concebida, implementada e evoluída utilizando IA como principal mecanismo de desenvolvimento, sem abrir mão da qualidade técnica e da sustentabilidade do código produzido.

Estrutura do Projeto

Este projeto utiliza Next.js (App Router) e segue uma estrutura limpa e orientada a funcionalidades (feature-driven):

  • src/app/: Contém todas as rotas e páginas da aplicação.
    • page.tsx: A Landing Page pública, focada em conversão e com animações modernas.
    • dashboard/: A tela inicial do usuário autenticado (resumo do dia).
    • workouts/, history/, community/, etc.: Páginas de funcionalidades principais.
  • src/components/: Elementos de UI reutilizáveis.
    • ui/: Componentes base e primitivos (ex: botões, inputs, cards).
    • app-layout.tsx: O layout responsivo principal (Sidebar no desktop, Dock no mobile).
  • src/contexts/: Gerenciamento de estado global usando React Context.
    • auth-context.tsx: Gerencia o estado de autenticação via Firebase.
    • language-context.tsx: Gerencia a internacionalização (i18n) em tempo real (Português/Inglês).
  • src/lib/: Utilitários, tipagens e integrações.
    • firebase-service.ts: Centraliza as queries e integrações com o Firestore.
    • types.ts: Definições rigorosas do TypeScript para os modelos de domínio (Treino, Exercício, Usuário, etc).
  • src/locales/: Arquivos de tradução em JSON (en.json, pt.json).

Arquitetura (Modelo C4)

Abaixo está o diagrama de Contexto de Sistema detalhando a arquitetura de alto nível do GymNotes.

graph TD
    User(("Usuário"))

    subgraph App
        GymNotes["GymNotes Web App\n(Next.js / React)"]
    end

    subgraph Firebase
        FirebaseAuth["Firebase Auth"]
        Firestore["Cloud Firestore"]
    end

    User -->|Gerencia e executa treinos| GymNotes
    GymNotes -->|Autenticação| FirebaseAuth
    GymNotes -->|Treinos, Perfil e Histórico| Firestore

    classDef person fill:#08427b,stroke:#052e56,color:#fff
    classDef system fill:#8b5cf6,stroke:#5b21b6,color:#fff
    classDef extSystem fill:#333333,stroke:#111111,color:#fff

    class User person
    class GymNotes system
    class FirebaseAuth,Firestore extSystem
Loading

Como Executar Localmente

  1. Instale as dependências:

    npm install
  2. Inicie o servidor de desenvolvimento:

    npm run dev
  3. Abra http://localhost:3000 no seu navegador para ver o aplicativo em funcionamento.

Tecnologias Utilizadas

  • Framework: Next.js (App Router)
  • UI & Estilos: React 18, Tailwind CSS, Lucide Icons, Glassmorphism
  • Backend & Database: Firebase (Authentication & Cloud Firestore)
  • Mindset: Vibe Coding

Licença

Este projeto está sob a licença MIT. Veja o arquivo para mais detalhes.

Segurança

Consulte nossa Política de Segurança para obter informações sobre como relatar vulnerabilidades e nossas práticas de segurança.

About

GymNotes é um aplicativo web moderno e responsivo para organizar treinos de academia, visualizar progresso e engajar com a comunidade fitness.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages