Skip to content

eriksonwilliam/orders-mobile

Repository files navigation

orders-mobile

App mobile em React Native (Expo) + TypeScript que consome a API do event-driven-orders — o par mobile do orders-web. Você coloca um pedido no celular e vê a saga (pagamento → estoque → envio) resolver, com o status e a linha do tempo dos eventos. Arquitetura em camadas e cobertura de testes 100%.

Destaques

  • Mesmo backend, agora no celular — fecha o ciclo full-stack: uma API, um front web e um app mobile, todos com a mesma disciplina.
  • Camadas testáveisapi/ (cliente HTTP tipado) · lib/ (regras puras de status/formatação) · components/ (telas). A lógica fica fora dos componentes.
  • Cobertura 100% — verificada na CI com Jest + React Native Testing Library, incluindo os caminhos de erro da API (fetch mockado) e a interação do formulário (toques e digitação simulados).
  • Tipado ponta a ponta — os tipos do pedido espelham o contrato da API.

Stack

  • Framework: React Native + Expo (SDK 52) · Linguagem: TypeScript
  • Testes/cobertura: Jest (jest-expo) + @testing-library/react-native (gate de 100%)

Arquitetura

App.tsx            # tela principal (estado: pedidos, erro, loading)
src/
├── api/           # cliente HTTP (placeOrder, getOrder)
├── lib/           # status.ts — rótulo, cor e formatação (puro)
└── components/    # OrderForm, OrderCard (React Native)

Como rodar

npm install
npm start          # abre o Expo; use o app Expo Go (QR code) ou um emulador

Aponte para uma API rodando com a variável de ambiente:

EXPO_PUBLIC_API_URL=http://SEU_IP:8080 npm start

O build nativo (APK/IPA) exige o toolchain do Android/iOS (Android Studio / Xcode). Toda a lógica e as telas são testadas a 100% sem precisar do dispositivo — o app roda no Expo Go.

Testes e cobertura

npm test           # Jest com gate de 100% (branches/functions/lines/statements)
npm run typecheck  # tsc --noEmit

Licença

MIT.

About

No description, website, or topics provided.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors