Gym Pass
O Gym Pass é uma API HTTP Rest do Node.js construída com Typescript, Fastify, Prisma, PostgreSQL, JWT e outras tecnologias. Ele permite o gerenciamento do sistema de academias, incluindo cadastro e autenticação do usuário, permissões, criação e pesquisa de academias e criação de check-in, histórico, métricas e validação.
Carregando ...
O Gym Pass é uma API HTTP Rest do Node.js construída com Typescript, Fastify, Prisma, PostgreSQL, JWT e outras tecnologias. Ele permite o gerenciamento do sistema de academias, incluindo cadastro e autenticação do usuário, permissões, criação e pesquisa de academias e criação de check-in, histórico, métricas e validação.
O aplicativo é totalmente testado com testes unitários e de ponta a ponta usando Vitest e Supertest e segue os princípios SOLID.
Requisitos funcionais
Regras de negócio
Requisitos não Funcionais
Rotas
Método HTTP | Endpoint | Descrição |
---|---|---|
POST | /users | Cria um novo usuário |
POST | /sessions | Autentica um usuário |
GET | /me | Retorna o usuário logado atualmente |
POST | /gyms | Cria uma nova academia |
GET | /gyms/search | Retorna uma lista de academias com base na consulta de pesquisa e número da página |
GET | /gyms/nearby | Retorna uma lista de academias próximas à localização fornecida |
POST | /gyms/:gymId/check-ins | Cria um novo check-in |
PATCH | /check-ins/:checkInId/validate | Marca o check-in fornecido como validado |
GET | /check-ins/history | Retorna uma lista dos check-ins do usuário |
GET | /check-ins/metrics | Retorna as métricas de check-in do usuário |
Tecnologias
Algumas tecnologias utilizadas para construção da aplicação.
Rodar o servidor
Clone o repositório
Para rodar o projeto localmente
- Crie um arquivo
.env
na raiz do projeto e preencha as variáveis ambiente, o exemplo de como deve ficar esta em.env.example
.
Instale as dependências
Crie o banco de dados local
Rodar as migrations
Iniciar servidor
Rodar testes unitários
Rodar testes E2E
Made with 💙 by Guilherme David