Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dan-santos/gympass-beta-app

3o. Projeto da trilha Ignite de Node.Js, focado em SOLID
https://github.com/dan-santos/gympass-beta-app

fastify prisma solid typescript

Last synced: about 1 month ago
JSON representation

3o. Projeto da trilha Ignite de Node.Js, focado em SOLID

Awesome Lists containing this project

README

        

[![Vitest unit-tests](https://github.com/dan-santos/gympass-beta-app/actions/workflows/run-unit-tests.yml/badge.svg)](https://github.com/dan-santos/gympass-beta-app/actions/workflows/run-unit-tests.yml)
[![Run e2e Tests](https://github.com/dan-santos/gympass-beta-app/actions/workflows/run-e2e-tests.yml/badge.svg)](https://github.com/dan-santos/gympass-beta-app/actions/workflows/run-e2e-tests.yml)
# 3o. projeto da trilha Ignite de Node.Js
Web App de academia "Gympass Beta" com foco em SOLID
---
## Stack

Backend:
- TypeScript
- Fastify
- tsx
- zod
- vitest
- tsup

Dados:
- Postgres 15
- Prisma

Infra
- Docker

## RF
- [x] Deve ser possível se cadastrar;
- [x] Deve ser possível se autenticar;
- [x] Deve ser possível obter o perfil de um usuário logado;
- [x] Deve ser possível obter o número de check-ins realizados pelo usuário logado;
- [x] Deve ser possível o usuário obter seu histórico de check-ins;
- [x] Deve ser possível o usuário buscar academias próximas;
- [x] Deve ser possível o usuaŕio buscar academias pelo nome;
- [x] Deve ser possível o usuário realizar check-in em uma academia;
- [x] Deve ser possível validar o check-in de um usuário;
- [x] Deve ser possível cadastrar uma academia;

## RN
- [x] O usuário não deve poder se cadastrar com um email duplicado;
- [x] O usuário não pode fazer 2 check-ins no mesmo dia;
- [x] O usuário não pode fazer check-in se não estiver perto (100m) da academia;
- [x] O check-in só pode ser validado até 20 minutos após criado;
- [x] O check-in só pode ser validado por administradores;
- [x] A academia só poder ser cadastrada por administradores;

## RNF
- [x] A senha do usuário precisa estar criptografada
- [x] Os dados da aplicação precisam estar persistidos no PostgreSQL;
- [x] Todas listas de dados precisam estar paginadas com 20 itens por página;
- [x] O usuário deve ser identificado por um JWT;