Chat

Whuanderson.

InícioProjetosContato
Perfil

eSports Web

Imagem
Imagem
TypeScriptTypeScript
CSSCSS
JavaScriptJavaScript
React NativeReact Native

NLW eSports – Ignite 🎮

NLW eSports cover

GitHub top language Made by Whuanderson License

Aplicação full‑stack construída durante o Next Level Week – eSports (Ignite) da Rocketseat.
O objetivo é ajudar gamers a encontrar duos para partidas online: crie um anúncio dizendo que procura companhia para jogar e receba o contato (Discord) de quem se interessar.


📦 Monorepo

PastaDescriçãoTecnologias principais
webFront‑end responsivoReact • Vite • TypeScript • TailwindCSS
mobileApp mobileReact Native • Expo • TypeScript
serverAPI REST + WebSocketNode.js • Fastify • Prisma ORM • SQLite

✨ Funcionalidades

  • Cadastro/listagem de jogos populares
  • Criação de anúncios (nome, horário, Discord etc.)
  • Busca de anúncios por jogo
  • Recupera ID do Discord para contato via WebSocket em tempo real
  • Layout e componentes acessíveis e responsivos (web + mobile)

🚀 Executando localmente

Requer Node >= 18 e Yarn (ou npm).

# clone o repositório
git clone https://github.com/Whuanderson/nlw-eSport-ignite
cd nlw-eSport-ignite

1. Back‑end

cd server
yarn            # instala dependências
npx prisma migrate dev  # cria o banco SQLite
yarn dev        # inicia em http://localhost:3333

2. Web

cd ../web
yarn
yarn dev        # abre em http://localhost:5173

3. Mobile

cd ../mobile
yarn
npx expo start  # escaneie o QR code no Expo Go ou rode emulador

Certifique‑se de alterar a URL da API no arquivo mobile/src/lib/axios.ts para apontar para o IP da sua máquina (ex.: http://192.168.0.x:3333).


🗂️ Estrutura

.
├─ server
│  ├─ prisma         # schema & migrations
│  └─ src
│     ├─ routes
│     ├─ controllers
│     └─ websocket
├─ web
│  └─ src
│     ├─ components
│     ├─ pages
│     └─ services
└─ mobile
   └─ src
      ├─ components
      ├─ screens
      └─ lib

📝 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.

Feito por Whuanderson Marinho – deixe uma ⭐️ para apoiar!