Skip to content

joschonarth/in-orbit-web

Repository files navigation

in.orbit

🧑‍🚀 in.orbit

Registre metas, acompanhe seu progresso e evolua semana a semana.

last-commit repo-top-language repo-language-count

📃 Sobre  •   🛠️ Tecnologias  •   ✨ Funcionalidades  •   🚀 Como rodar


summary

📃 Sobre

O in.orbit é uma aplicação web para criação e acompanhamento de metas com foco semanal. É possível criar metas com frequência personalizada, marcar e desmarcar conclusões, acompanhar o progresso da semana atual e navegar por semanas anteriores através de um relatório detalhado. O projeto também conta com autenticação via GitHub e um sistema de gamificação com XP e níveis para incentivar a consistência. O frontend é construído com React, Vite e Tailwind CSS.


🛠️ Tecnologias

  • ⚛️ React — Biblioteca para construção de interfaces declarativas.
  • Vite — Build tool moderna com hot reload ultrarrápido.
  • 🟦 TypeScript — Tipagem estática e segurança em tempo de desenvolvimento.
  • 🎨 Tailwind CSS — Estilização utilitária direto no JSX.
  • 🧩 Radix UI — Componentes acessíveis e sem estilo para composição de UI.
  • 🏝️ TanStack Query — Gerenciamento de estado assíncrono, cache e sincronização de dados.
  • 🐠 Orval — Geração automática de clients HTTP e tipos a partir da spec OpenAPI.
  • 📋 React Hook Form — Gerenciamento de formulários performático e flexível.
  • 🛣️ React Router DOM — Roteamento declarativo para aplicações React.
  • 🔔 Sonner — Notificações toast elegantes e acessíveis.
  • 🛡️ Zod — Validação e parsing de schemas com inferência de tipos.
  • 🔍 Biome — Linting e formatação de código de alta performance.

✨ Funcionalidades

  • 🎯 Criar metas com frequência semanal definida
  • ✅ Marcar meta como concluída
  • ↩️ Desconcluir uma meta
  • 🗑️ Deletar uma meta
  • 📊 Relatório semanal de metas concluídas com histórico de conclusão
  • 🗓️ Navegação entre semanas
  • 📈 Acompanhamento de progresso das metas a serem cumpridas
  • 🏆 Sistema de gamificação com XP por conclusão de meta
  • 🎮 Sistema de nível do usuário baseado em XP acumulado
  • 🔐 Autenticação com GitHub (OAuth)

🚀 Como rodar

📋 Pré-requisitos

🔧 Instalação

  1. Clone o repositório:

    git clone https://github.com/joschonarth/in-orbit-web.git
  2. Acesse a pasta do projeto:

    cd in-orbit-web
  3. Instale as dependências:

    npm install
  4. Configure as variáveis de ambiente copiando o arquivo de exemplo:

    cp .env.local.example .env.local

    Em seguida, abra o arquivo .env.local e preencha as variáveis:

    VITE_API_BASE_URL=http://localhost:3333

🔌 API

Este projeto consome a in.orbit API, que precisa estar disponível para que a aplicação funcione corretamente. Siga as instruções do repositório abaixo para rodá-la:

👉 Servidor do in.orbit

🤖 Geração de cliente HTTP

Os clients HTTP são gerados automaticamente pelo Orval a partir da spec OpenAPI exposta pelo server. Para regenerar:

npm run dev:orval

▶️ Execução

Inicia o servidor de desenvolvimento:

npm run dev:vite

Ou rode os dois em um único comando:

npm run dev

Acesse http://localhost:3000 no navegador.


⭐ Apoie este Projeto

Se curtiu o projeto, deixe uma ⭐ aqui no GitHub — isso ajuda muito!


Feito com ♥ por João Otávio Schonarth

LinkedIn Gmail

About

🧑‍🚀 Web app for in.orbit, enabling users to create weekly goals, track progress, navigate between weeks, and stay motivated with XP-based gamification, built with React, Vite, and Tailwind CSS.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages