Skip to content

Repository files navigation

Brocolito App

Expo React React Native TypeScript Expo Router

Aplicativo em Expo e React Native para cadastro, histórico e comparação de medidas corporais do Brocolito.

ChatGPT Image 11 de mai  de 2026, 23_20_24

Stack

  • Expo 54
  • React 19
  • React Native 0.81
  • Expo Router
  • TypeScript
  • AsyncStorage
  • Nunito via @expo-google-fonts/nunito

Funcionalidades

  • Onboarding, cadastro e login
  • Sessão autenticada com token JWT
  • Perfil do usuário
  • Objetivo do usuário: perder peso ou ganhar peso
  • Cadastro, edição e exclusão de medições corporais
  • Histórico de medições
  • Comparativo de evolução por medida
  • Mensagens de progresso baseadas no objetivo
  • Informações educativas em métricas de peso, cintura e abdômen

Pré-requisitos

  • Node.js compatível com Expo 54
  • npm
  • Expo CLI via npx expo
  • API Brocolito acessível

Para rodar com a API local, suba o projeto brocolito-api em:

http://localhost:3000

Configuração

Crie um arquivo .env na raiz do app:

cp .env.example .env

Configure a URL da API:

EXPO_PUBLIC_API_BASE_URL=http://localhost:3000

Para apontar para produção, use a URL publicada da API:

EXPO_PUBLIC_API_BASE_URL=https://sua-api.example.com

Variáveis com prefixo EXPO_PUBLIC_ são expostas no bundle do app. Não coloque segredos nesse arquivo.


Rodando localmente

Instale as dependências:

npm install

Inicie o Expo:

npm start

Rodar no navegador:

npm run web

Rodar no Android:

npm run android

Rodar no iOS:

npm run ios

Se testar em celular físico com API local, localhost aponta para o próprio celular. Nesse caso, use o IP da máquina que está rodando a API:

EXPO_PUBLIC_API_BASE_URL=http://SEU_IP_LOCAL:3000

Scripts

Comando Descrição
npm start Inicia o Expo
npm run web Inicia o app no navegador
npm run android Abre no Android
npm run ios Abre no iOS
npm run lint Roda o lint do Expo
npx tsc --noEmit Checa tipos TypeScript

Fluxo de desenvolvimento

  1. Suba a API:
cd ../brocolito-api
bin/rails server
  1. Configure o .env do app:
EXPO_PUBLIC_API_BASE_URL=http://localhost:3000
  1. Inicie o app:
cd ../brocolito-app
npm start
  1. Crie uma conta ou use um usuário dos seeds da API.

Estrutura principal

app/
  (app)/                 Rotas autenticadas
  login.tsx              Login
  onboarding.tsx         Tela inicial
  register.tsx           Cadastro
src/
  components/            Componentes reutilizáveis
  context/AuthContext.tsx Sessão e token JWT
  services/api.ts        Cliente HTTP da API
  types/                 Tipos TypeScript
  utils/                 Formatação, objetivos e insights

Qualidade

Lint:

npm run lint

Typecheck:

npx tsc --noEmit

Observações

  • O app espera que a API retorne JWT no login.
  • O token é armazenado no AsyncStorage.
  • O arquivo .env é ignorado pelo Git.
  • .env.example existe apenas como referência de configuração.

About

App React Native + Expo para gerenciamento de usuários, autenticação JWT e acompanhamento de medidas corporais. A idéia do projeto é fazer algo que eu use no dia a dia, e aproveitar isso para estudar e aprender

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages