Esta é uma aplicação web desenvolvida com React + TypeScript + Vite que simula uma plataforma de apostas. A aplicação permite que usuários se registrem, façam login, realizem apostas e carregar seus saldos.
- Node.js >= 18.x
- Yarn ou npm
- Mock API rodando (disponível em: https://github.com/bnkcodes/tglab-mock-api)
-
Clone este repositório:
git clone https://github.com/bnkcodes/tglab-frontend-challenge.git cd tglab-frontend-challenge -
Instale as dependências utilizando o Yarn:
yarn
Ou com npm:
npm install
- Certifique-se de que a Mock API esteja rodando em
http://localhost:3000
-
Para rodar a aplicação em ambiente de desenvolvimento:
yarn dev
Ou com npm:
npm run dev
A aplicação estará disponível em: http://localhost:5173
- Registro: Criação de conta com nome, email e senha
- Login: Autenticação de usuários existentes
- Logout: Encerramento de sessão
- Realizar Apostas: Interface para criar novas apostas com valor personalizado
- Deposito de saldo: Interface para adicionar saldo com valor personalizado
- Múltiplos idiomas: Suporte a português, inglês e espanhol
- Formatação: Moedas formatadas conforme o locale selecionado
src/
├── @types/ # Tipagens customizados em modulo globais
├── app/ # Configurações gerais da aplicação
├── features/ # Funcionalidades por domínio
├── pages/ # Páginas da aplicação
│ ├── private/ # Páginas privadas (autenticadas)
│ └── public/ # Páginas públicas
├── shared/ # Componentes e utilities compartilhados
└── locales/ # Arquivos de tradução
- TypeScript: Superset JavaScript com tipagem estática
- Vite: Build tool e dev server
- MUI Joy: Biblioteca de componentes UI
- SWR: Biblioteca para gerenciamento de estado remoto
- React Router: Roteamento da aplicação
- React Hook Form: Gerenciamento de formulários
- i18next: Internacionalização
- Zod: Validação de schemas
yarn dev: Inicia o servidor de desenvolvimento
A aplicação consome os seguintes endpoints da Mock API:
POST /register- Registro de usuárioPOST /login- Login de usuárioPOST /bet- Realizar apostaPOST /deposit- Adicionar saldo (Novo)GET /my-bets- Consultar apostas (Não finalizado)DELETE /my-bet/:id- Cancelar aposta (Não finalizado)GET /my-transactions- Consultar transações (Não finalizado)
Par o funcionamento, certifique-se de que a Mock API esteja rodando antes de iniciar a aplicação frontend.