Esta API, que permite gerenciamento de parcerias, foi desenvolvida visando sua utilização no projeto "OwlPartners" (mais informações vide este link).
Aplicação desenvolvida por alunos do 5º semestre do tecnólogo em Desenvolvimento de Software Multiplataforma, na FATEC Profº Jessen Vidal - São José dos Campos, SP 🚀
As seguintes tecnologias e ferramentas foram utilizadas neste projeto: Typescript, NestJS, PostgreSQL, Docker, Insomnia
Para consumir esta API, é preciso seguir o passo a passo abaixo ou utilizar a URL do serviço em nuvem (através deste link: owlPartnersAPI).
- Tutorial para rodar o projeto
# Baixe este repositório ou clone pelo Git usando o comando:
$ git clone https://github.com/The-Bugger-Ducks/owl-partners-back.git
# Acesse a pasta do projeto
$ cd owl-partners-back
# criar um arquivo chamado ".env" e copiar a estrutura do arquivo ".env.example" e colocar seus respectivos dados
# instale as dependencias
$ yarn install
ou
$ npm 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 migrate deploy
# Inicie o Projeto
$ yarn start
ou
$ npm run start
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 de aplicativo mobile do "OwlPartners" para executar as funcionalidades da aplicação (acesse o repositório por este link) ou 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.
Para acessar as rotas disponiveis acesse o link para o https://owlpartners.onrender.com/api na nuvem ou para o http://localhost:3000
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 |
📂 src/modules/partner | Arquivos com foco metodos, controlers, enums e DTOs sobre parcerias |
📂 src/modules/partnerComment | Arquivos com foco metodos, controlers, enums e DTOs de anotações sobre as parcerias |
📂 src/modules/partnerComment | Arquivos com foco metodos, controlers, enums e DTOs sobre os usuários |
📂 src/ * * / * * /enums | Arquivos de padronização de entrada para campos específicos no banco de dados |
📂 src/ * * / * * /dto | Arquivos de padronização e validação de campos exigidos no corpo das requisições |
📂 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 owlPartners |
📄 .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 |