Skip to content

API do projeto "Mood Hound" (6º DSM - 2023, FATEC Profº Jessen Vidal - SJC)

Notifications You must be signed in to change notification settings

The-Bugger-Ducks/mood-hound-back

Repository files navigation

mood hound header backend

Esta API, que permite <>, foi desenvolvida visando sua utilização no projeto "MoodHound" (mais informações vide este link).

Aplicação desenvolvida por alunos do 6º semestre do tecnólogo em Desenvolvimento de Software Multiplataforma, na FATEC Profº Jessen Vidal - São José dos Campos, SP 🚀

🛠️ Tecnologias

As seguintes tecnologias e ferramentas foram utilizadas neste projeto: Typescript, NestJS, Prisma, PostgreSQL, Docker, Insomnia

⚙️ Como utilizar

Para consumir esta API, é preciso seguir o passo a passo abaixo ou utilizar a URL do serviço em nuvem (através deste link: moodHoundAPI).

  • Tutorial para rodar o projeto
# Baixe este repositório ou clone pelo Git usando o comando:
$ git clone https://github.com/The-Bugger-Ducks/mood-hound-back.git

# Acesse a pasta do projeto
$ cd mood-hound-back

# criar um arquivo chamado ".env" e copiar a estrutura do arquivo ".env.sample" e colocar seus respectivos dados

# instale as dependencias
$ yarn install

# Utilize o docker-compose para criar o banco de dados
$ docker-compose up -d

# Utilize o comando do Prisma para sincronizar a estrutura do banco de dados
$ npx prisma generate

# Inicie o Projeto
$ yarn start:dev

O servidor inciará localmente na porta 3000 (citada no arquivo .env). Use o Insomnia ou postman para simular requisições e respostas das rotas (pelo link https://localhost:3000) ou utilize o projeto front-end WEB neste link.

Caso queira usar o Insomnia para testar as rotas, use o arquivo Insomnia_2023_mm_dd.json para importar as requisições.

Explicação da estrutura das pastas

Pasta Definição
📂 prisma/migrations Arquivos com função em versionar a estrutura do banco de dados
📄 prisma/schema.prisma Arquivo para config de estrutura e de relacionamento das entidades do banco de dados
📂 src/ Arquivos com o código fonte do projeto
📂 src/modules Arquivos com os módulos do serviço que se divide em varias partes do projeto
📂 src/modules/auth Arquivos com foco em autenticação e autorização para acesso aos endpoints
:open*file_folder: src/ * * / _ * /enums Arquivos de padronização de entrada para campos específicos no banco de dados
:open*file_folder: src/ * * / _ * /dto Arquivos de padronização e validação de campos exigidos no corpo das requisições
:open*file_folder: src/ * * / _ * /validation Arquivos para criação de validações customizadas que o class-validator nao abrange
📄 src/main.ts Arquivo principal de inicialização do projeto
📄 src/app.module.ts Arquivo para gerenciar modulos pela raíz do projeto
📂 test/ Arquivos com foco tem testes unitários do serviço moodHound
📄 .editorConfig Arquivo usado para padronizar a codificação do projeto como espaços em identações, pontuações etc
📄 .env Arquivo usado para variáveis de ambiente como chaves de autenticação e URL do banco de dados de produção
📄 .env.sample Arquivo usado como molde para o verdadeiro .env
📄 docker-compose.yml Arquivo usado para "conteinerizar" um banco postgres local
📄 Dockerfile Arquivo usado para integração contínua de deploy em um servidor
📄 jest.config.json Arquivo usado para configurar a biblioteca JEST para execução dos testes
📄 insomnia_2023_mm_dd.json Arquivo usado para importar requisições para as rotas do projeto no Insomnia
📄 tsconfig.json Arquivo usado para configurar o typescript como sintaxe, organização de arquivos, etc.
📄 package.json Arquivo usado gerenciar as dependencias do projeto com o Yarn e compor scripts de terminal