Coder Social home page Coder Social logo

luk4x / copa-server Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 99 KB

⚽ NLW Copa Server - A Prisma/NodeJS API to store the Copa Interfaces data | Typescript, Prisma, Fastify...

License: MIT License

TypeScript 100.00%
erd fastify mermaid-cli nlw node npm prisma rocketseat short-unique-id typescript zod backend rest-api fastify-jwt fastify-plugin vitrinedev

copa-server's Introduction

🇺🇸 English
🇧🇷 Português

luk4x-repo-status luk4x-repo-license

⚽ Copa Project API


ERD   |    Tecnologias   |    Sobre   |    Rotas   |    Plugins   |    Clone   |    Contato


🌳 ERD

prisma erd image

🚀 Tecnologias utilizadas

📝 Sobre

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.

📃 Rotas e Exemplos

  • 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 o zod. Seu schema é:

    {
        id: z.string(),
        email: z.string().email(),
        name: z.string(),
        picture: z.string().url()
    }
  • GET /pools/:id/games: Com base no id enviado, 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 de id nos valores de firstTeamPoints e secondTeamPoints enviados 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 no title enviado pelo body, essa rota cria um bolão com o determinado título, e gera seu code automáticamente com o auxílio do short-unique-id.

  • POST /pools/join: Com base no code enviado pelo body, 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 no id enviado, essa rota retorna informações sobre um determinado bolão.

  • GET /users/count: Retorna o total de usuários cadastrados.

🔑 Plugins

  • authenticate: Sua função é realizar a verificação/validação do usuário com JWT.

📖 Clonando o Projeto

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/)

🤝 Contato dos Contribuintes

Vitrine.Dev 🪟
Luk4x Github Photo
Lucas Maciel
🪧 Vitrine.Dev Lucas Maciel
✨ Nome ⚽ Copa API
🏷️ Tecnologias nodejs, prisma, typescript, prisma erd generator, short unique id, fastify, mermaid-js, jwt, zod, npm
📷 Img vitrine.dev thumb

Voltar ao Topo

copa-server's People

Contributors

luk4x avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.