Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arakakimath/rocketseat-nodejs-class03-api-solid
https://github.com/arakakimath/rocketseat-nodejs-class03-api-solid
Last synced: 15 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/arakakimath/rocketseat-nodejs-class03-api-solid
- Owner: arakakimath
- Created: 2024-11-06T19:14:23.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-14T18:26:15.000Z (3 months ago)
- Last Synced: 2024-11-14T19:31:42.483Z (3 months ago)
- Language: TypeScript
- Size: 598 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# App
Gympass style app.
# RFs (Requisitos funcionais)
- [x] It should be possible to register
- [x] It should be possible to authenticate
- [x] It should be possible to get profile of a signed in user
- [x] It should be possible to get the number of check-ins of the user
- [x] It should be possible to get check-in history
- [x] It should be possible to search for nearby gyms (up to 10 km)
- [x] It should be possible to search a gym by name
- [x] It should be possible for an user to check-in in a gym
- [x] It should be possible to validate user check-in
- [x] It should be possible to register a new gym
# RNs (Regras de negócio)- [x] User can't register with an already used e-mail
- [x] User can't check-in more than once a day
- [x] User can't check-in if it isn't close enough to the gym (100 m)
- [x] Check-in must be validated in up to 20 minutes
- [x] Check-in must be validated by admins
- [x] Gyms must be registered by admins# RNFs (Requisitos não-funcionais)
- [x] User's password should be encrypted
- [x] App data should be persisted in a PostgreSQL database
- [x] All data lists should be organized into pages limited to 20 each
- [x] User should be identified by a JWT (Json Web Token)# Useful commands
- Generate prisma base files
```sh
npx prisma init
```- Executes changes in the schema.prisma file
```sh
npx prisma generate
```- Executes all changes and creates a migration automatically
```sh
npx prisma migrate dev
```- Opens a localhost acess to database
```sh
npx prisma studio
```- Executes configs from 'docker-compose.yml'. -d is a flag to not show logs
```sh
docker compose up -d
```