Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

Awesome Lists containing this project

README

        

WayOftheWeights-API 🏋🏽‍♂️



### Indice 👨‍💻


  • 1 - 🚪Introdução

  • 2 - ⚙️ Desenvolvimento e Tecnologias

  • 3 - 👇🤘 Como instalar

  • 4 - 🤘Como Usar

  • 5 - Considerações finais

  • 6 -🧑‍💻 Autor

  • 7- Licença
  • ## 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

    SISTEMA

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