Skip to content

wenceslol/DbProjeto-Treino

Repository files navigation

📌 Database Projeto Treino

Database do Projetotreino, criado com Typescript, Node.js, Express.js e Postgres.

Static Badge
Licença: MIT

🚀 Funcionalidades

✔️ Autenticação - Registro, Login.
✔️ Criptografia - Senhas automaticamente criptografadas e validadas via Bcrypt hashing.
✔️ Credenciais - Credenciais mantidas no dispositivo, pulando etapas de login, utilizando Refresh e Access Tokens.
✔️ Controle de permissões - Backend criado bottom-up visando diferentes tipos de permissões(Admin, Prestador, Cliente).
✔️ Servidor de imagens - Este servidor suporta envio e recebimento de imagens via request.
✔️ Nodemailer - Suporte a envio de emails, utilizado para confirmação de email.
✔️ Data processing - Automaticamente processa os dados dos treinos, calculando os gastos individuais de cada exercício, além do gasto basal.
✔️ Data analysis - Armazena histórico de treinos realizados no modelo não relacional, garantindo performance nas querys de busca, ou para pós-processamento.

🛠️ Tecnologias Utilizadas

Linguagens: JavaScript, Typescript.
Frameworks: Express.js.
Bibliotecas: Axios.
Banco de Dados: Postgresql.

📦 Como Instalar e Executar

Pré-requisitos
Node.js (v16+)
Git

Passo a Passo

bash

Clone o repositório

git clone https://github.com/wenceslol/DbProjeto-Treino.git

Acesse a pasta do projeto

cd DbProjeto-Treino

Instale as dependências

npm install

Crie a pastas de imagens

Crie uma pasta "uploads" no root do projeto. Aqui será armazenado as fotos de perfil dos usuários.
Se deseja hospedar o banco de imagens localmente:
Crie a pasta "assets" no diretório "src/imageServer" e forneça as imagens de cada exercício.

Crie suas variáveis de ambiente

Crie o arquivo .env no root do seu projeto, com os seguintes campos:

PORT=
DB_USER=
DB_PASSWORD=
DB_HOST=
DB_NAME=
DB_PORT=

DATABASE_URL=

JWT_SECRET=

ACCESS_TOKEN_SECRET=
REFRESH_TOKEN_SECRET=

NODEMAILER_API_USERNAME=
NODEMAILER_API_PASSWORD=

SERVERURL=

❗ Os campos DB_ e DATABASE_URL são para o banco, local e nuvem, respectivamente. Preencha de acordo.
❗ Os campos _SECRET são chaves secretas para hashing da senha e tokens.
SERVERURL é o IP do seu backend.

Inicie o Ambiente de desenvolvimento

npm run dev

🤝 Como Contribuir

Como este é um projeto para aprendizado, apenas eu estarei melhorando a branch principal.
Porém, sintam-se livres para clonar o repositório e utilizarem da maneira que preferirem.

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.

📬 Contato

✉️ Email: [email protected]
🔗 LinkedIn: Thiago Wenceslau

About

Backend do Projeto-Treino

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published