| 🇺🇸 English |
| 🇧🇷 Português |
ERD | Tecnologias | Sobre | Rotas | Plugins | Clone | Contato
- Prisma
- Prisma Erd Generator
- Short Unique Id
- Typescript
- @mermaid-js/mermaid-cli
- Fastify
- @fastify/jwt
- Zod
- NodeJS
- npm
Esse projeto é a API da Copa, que é resumidamente, uma aplicação temática da copa do mundo que realiza o cadastro e a gerência de bolões, jogos e usuários, desenvolvida durante a trilha Ignite da NLW Copa da Rocketseat.
Essa API é a base para a sua interface Web desenvolvida essencialmente com NextJS, e Mobile desenvolvida essencialmente com React Native.
-
GET /me: Essa rota retorna informações sobre o usuário. -
POST /users: Essa é responsável por criar/autenticar um usuário pelo google, preenchendo-o com as seguintes informações recebidas do google e validadas com ozod. Seu schema é:{ id: z.string(), email: z.string().email(), name: z.string(), picture: z.string().url() }
-
GET /pools/:id/games: Com base noidenviado, essa rota lista todos os jogos relacionados ao determinado bolão. -
GET /guesses/count: Essa rota retorna o total de palpites feitos. -
POST /pools/:poolId/games/:gameId/guesses: Com base nos parâmetros deidnos valores defirstTeamPointsesecondTeamPointsenviados pelo body, essa rota cria um palpite para o determinado jogo no determinado bolão com os valores recebidos. -
GET /pools/count: Essa rota retorna o total de bolões criados. -
POST /pools: Com base notitleenviado pelobody, essa rota cria um bolão com o determinado título, e gera seucodeautomáticamente com o auxílio doshort-unique-id. -
POST /pools/join: Com base nocodeenviado pelobody, essa rota permite um determinado usuário se tornar participante do determinado bolão. -
GET /pools: Essa rota retorna os primeiros 4 bolões que ela encontrar. -
GET /pools/:id: Com base noidenviado, essa rota retorna informações sobre um determinado bolão. -
GET /users/count: Retorna o total de usuários cadastrados.
authenticate: Sua função é realizar a verificação/validação do usuário com JWT.
Para clonar e executar este projeto em seu computador, você precisará do Git, Node.js v18.12.0 ou superior e de preferência, um API Client como o Insomnia (mas também pode ser acessado pelo navegador, porém com suas funcionalidades limitadas) previamente instalados.
No terminal:
# Clone esse repositório com:
> git clone https://github.com/Luk4x/copa-server.git
# Entre no repositório com:
> cd copa-server
# Instale as dependências com:
> npm install
# Execute o projeto com:
> npm run dev
# Feito isso, você já poderá acessar o projeto pelo link que aparecerá no terminal! (algo como http://localhost:3333/ ou http://0.0.0.0:3333/)
Vitrine.Dev 🪟
|
Lucas Maciel
|