Aplicativo mobile profissional para gerenciamento de inventário com React Native, Expo e TypeScript
🌐 Linguagens: 🇧🇷 Português | 🇺🇸 English
# 1. Install dependencies
npm install
# 2. Start the app
npm start
# 3. Open in emulator or Expo Go
# Press 'a' for Android or 'i' for iOSNote: MockAPI URL is pre-configured in src/config/api.config.ts. The app should load products immediately.
- CRUD Operations - Create, read, update, delete products
- Real-time Search - Filter by name, category, or price
- Date Range Filter - Filter products by date (DD/MM/YYYY)
- Pull to Refresh - Swipe down to reload the list
- Form Validation - Real-time input validation
- Error Handling - Clear, user-friendly error messages
- Clean Architecture - Separation of concerns and reusability
- React Native + Expo
- TypeScript
- @react-navigation/native
- Axios + React Query
- @expo/vector-icons
- Node.js >= 18
- npm or yarn
- Android Studio or Xcode (optional, for emulator)
- Expo Go app (for testing on device)
src/
├── components/ # UI components (Button, Card, SearchBar, DateFilter, Input)
├── screens/ # App screens (List, Details, Form)
├── services/ # API integration (Axios)
├── hooks/ # React Query hooks (useProducts)
├── types/ # TypeScript interfaces
├── config/ # Configuration (api.config.ts)
├── navigation/ # Navigation setup (RootNavigator)
└── utils/ # Error handling & utilities
- ✅ Input validation & sanitization
- ✅ Centralized error handling
- ✅ Safe logging (no sensitive data)
- ✅ Type-safe code (minimal
any) - ✅ For production, use
.env+ environment variables
- QUICK_START.md - Setup guide for new machines
- ARCHITECTURE.md - Code patterns & best practices
- PROJECT_STRUCTURE.md - Detailed folder organization
- .env.example - Environment variables template (for production)
# Run linter & checks
npm run lint
# Add test data to MockAPI
node scripts/populate_test_data.jsMIT
# 1. Instale as dependências
npm install
# 2. Inicie o app
npm start
# 3. Abra no emulador ou Expo Go
# Pressione 'a' para Android ou 'i' para iOSNota: A URL do MockAPI já está configurada em src/config/api.config.ts. O app deve carregar os produtos automaticamente.
- Operações CRUD - Criar, ler, atualizar, deletar produtos
- Busca em Tempo Real - Filtrar por nome, categoria ou preço
- Filtro por Data - Filtrar produtos por intervalo de datas (DD/MM/YYYY)
- Pull to Refresh - Puxe para baixo para recarregar
- Validação de Formulário - Validação em tempo real
- Tratamento de Erros - Mensagens claras e amigáveis
- Arquitetura Limpa - Separação de responsabilidades
- React Native + Expo
- TypeScript
- @react-navigation/native
- Axios + React Query
- @expo/vector-icons
- Node.js >= 18
- npm ou yarn
- Android Studio ou Xcode (opcional, para emulador)
- App Expo Go (para testar no celular)
src/
├── components/ # Componentes UI (Button, Card, SearchBar, DateFilter, Input)
├── screens/ # Telas da app (List, Details, Form)
├── services/ # Integração com API (Axios)
├── hooks/ # Hooks do React Query (useProducts)
├── types/ # Interfaces TypeScript
├── config/ # Configurações (api.config.ts)
├── navigation/ # Configuração de navegação (RootNavigator)
└── utils/ # Tratamento de erros e utilitários
- ✅ Validação e sanitização de entrada
- ✅ Tratamento de erro centralizado
- ✅ Logging seguro (sem dados sensíveis)
- ✅ Código type-safe (uso mínimo de
any) - ✅ Para produção, use
.env+ variáveis de ambiente
- QUICK_START.md - Guia de setup para novas máquinas
- ARCHITECTURE.md - Padrões de código e boas práticas
- PROJECT_STRUCTURE.md - Organização detalhada das pastas
- .env.example - Template de variáveis de ambiente (para produção)
# Rodar linter e validações
npm run lint
# Adicionar dados de teste ao MockAPI (Caso queira testar, mas nao precisa)
node scripts/populate_test_data.jsMIT