Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/joaog23/wayoftheweights-api
API em desenvolvimento ainda, mas sistema tem o intuito de gestionar as quantidade de pesos que alcançado na academia pelo usuário
https://github.com/joaog23/wayoftheweights-api
body gym migration sequelize typescript vitest
Last synced: 21 days ago
JSON representation
API em desenvolvimento ainda, mas sistema tem o intuito de gestionar as quantidade de pesos que alcançado na academia pelo usuário
- Host: GitHub
- URL: https://github.com/joaog23/wayoftheweights-api
- Owner: JoaoG23
- License: mit
- Created: 2022-09-16T21:44:34.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-12T19:17:41.000Z (7 months ago)
- Last Synced: 2024-06-14T01:25:33.478Z (7 months ago)
- Topics: body, gym, migration, sequelize, typescript, vitest
- Language: TypeScript
- Homepage: https://way-of-the-weights-api.vercel.app
- Size: 10.1 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
WayOftheWeights-API 🏋🏽♂️
### Indice 👨💻
## Edições ✏️📑
| Alterações | Data | Versão |
| :--------------------------------: | :------: | :----: |
| Emissão Inicial | 06/10/22 | 1.0.1 |
1 - Introdução
API em desenvolvimento ainda, mas sistema tem o intuito de gestionar as quantidade de **pesos** que alcançado na **academia** pelo usuário
2- Desenvolvimento e Tecnologias 🥵🧑🏭
Primeiramente usei a Biblioteca **JEST** e tive problemas para gerar testes em Typescript por causa das configurações, entretanto usei uma nova biblioteca que me surpreendeu. Com suporte a **Typescript**, **Vitest** é uma biblioteca que já possui nativamente suporta Typescript e é extremamente rápido para realizar teste nele. Com sempre o **Arquiterura MVC**, e pela primeira vez realizei um projeto sem nenhuma lógica no banco de dados, 🤦🏽♂️Aff como foi difícil abandonar aquelas procedures, enfim extrair um pouco do **Sequelize**, em conjunto com queries nativas, também pela primeira usei as **Migrations** na minha vida🥳 Poor\*\* que ferramenta incrível🤩.
### 👥 Principais Tecnologia usadas até o momento
**• Typescript**
**• PostgresSQL**
**• Express**
**• Sequelize**
**• Nodejs**
Novamente, como sempre como nos projetos anteriores utilizei arquitura **MVC**
3- Como instalar 🧑🔧
DATABASE
SISTEMA7. Após isso crie um **.env** na pasta raiz **/** e configure apontando para sua base de dados. Conforme abaixo ou como sua preferencia :
Exemplo nao preenchido no arquivo .env.example:
DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USER=
DB_PASSWORD=
DB_DIALECT=
PORT_SERVER=
TOKEN_SECRET=
Exemplo preenchido .env:
DB_HOST='localhost'
DB_PORT=5432
DB_DATABASE='db_wayoftheweights'
DB_USER='postgres'
DB_PASSWORD='admin'
DB_DIALECT='postgres'
PORT_SERVER=3000
TOKEN_SECRET='segredotoken'
8. Após volte para pasta **/** e digite seguinte comando abaixo:
npm run build
9. Em seguida para roda o projeto digite npm run prod
10 . Dentro da pasta /**assets** há a collection da API chamada **collection_api_har-2022-10-06**, poderá usar para Usar na API de
Teste, **_Insomnia ou postman_** de sua preferencia.
4- Como usar 👩💻
Cada usuário tem um treino.
Em cada treino tem vários exercícios
E cada exercício tem a sua carga atual, anteriores, e histórico de performance.
Sendo que cada inserção de exercício pelo usuário, alteração será gravado no histórico do usuário;
Basicamente tem 5 Rotas principais
1. /session = Controlas as sessões de login do usuário.
2. /users = manipula os dados do usuários
3. /statistics = desmostrativos para uso em gráficos.
4. /trainings = Manipulas os treinamento dos usuários
5. /exercice = Os exercícios dentro dos treinamentos.
De uma olhada na documentação para melhor entendimento.
👉🏽Clique aqui para acessa a documentacão
5 -🥺😭 Considerações finais
Ahhh, mas você já vai ir embora 😢 ...
Com esse projeto pude entender as diferenças dos tipos de **testes** e aplicar um deles, sendo ele de integração.
Visto isso, acho que hoje para realmente temos um software de qualidade e imprescindível criar uma cobertura de testes em suas **APIs**. Creio que como typescript dificilmente vou abandonar essa pratica também. Obrigado a todos!
🤗🙋♂️!
### Autor ✍🏻
---
![avatar](https://images.weserv.nl/?url=https://avatars.githubusercontent.com/u/80895578?v=4?v=4&h=100&w=100&fit=cover&mask=circle&maxage=7d
)
Joao Guilherme 🚀
Feito com 🤭 por Joao Guilherme 👋🏽 Entre em contato!
[![Linkedin Badge](https://img.shields.io/badge/-Joao-blue?style=flat-square&logo=Linkedin&logoColor=white&link=https://www.linkedin.com/in/jaoo/)](https://www.linkedin.com/in/joaog123/)
[![Badge](https://img.shields.io/badge/[email protected]?style=flat-square&logo=Microsoft&logoColor=white&link=mailto:[email protected])](mailto:[email protected])
7 - Licença
[![Licence](https://img.shields.io/github/license/Ileriayo/markdown-badges?style=for-the-badge)](./LICENSE)