Skip to content

API do projeto "Cloud Fox" (4º DSM - 2022, FATEC Profº Jessen Vidal - SJC)

Notifications You must be signed in to change notification settings

The-Bugger-Ducks/cloud-fox-back

Repository files navigation

Serviço Backend Cloud Fox

Esta API, que permite o monitoramento do clima, foi desenvolvida visando sua utilização no projeto "Cloud Fox" (mais informações vide este link).

Aplicação desenvolvida por alunos do 4º 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, NodeJS / Express.js, PostgreSQL, Docker, Insomnia

⚙️ Como utilizar

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

# Acesse a pasta do projeto
$ cd cloud-fox-back

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


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

# Utilize o comando do TypeORM para o run da migration e sincronizar as entidades
$ yarn typeorm migration:run -d ./data-source.ts

# Inicie o Projeto
$ yarn start

O servidor inciará localmente na porta 3000 (citada no arquivo .env). Use o Insomnia para simular requisições e respostas das rotas (pelo link https://localhost:3000) ou utilize o projeto fron-end do "Cloud Fox" para executar as funcionalidades da aplicação (acesse o repositório por este link).

🛤️ Rotas disponíveis

Tipo Rota Ação


Controle de usuários
/users/ Listagem de usuários
/users/{userId} Dados de um usuário específico
/users/ Cadastro de usuários
/users/solicitation Alteração do perfil do usuário
/users/{userId} Exclusão de um usuário específico


Controle de estações
/stations/ Listagem de estações
/stations/{stationsId} Editar dados da estação específica
/stations/{stationsId} Exclusão de uma estação específica


Controle de parametros
/collects/ Cadastrar coleta de dados
/dashboard/ Exibir informações sobre parametros da estação escolhida

Explicação da estrutura das pastas

Pasta Definição
📂 src/app/ Arquivos com o código fonte do projeto
📂 src/app/@types Arquivos de sobrescrita de tipagem em bibliotecas. ex: express
📂 src/app/controllers Arquivos com os métodos de requisição das rotas
📂 src/app/entities Arquivos com as entidades do banco de dados do projeto
📂 src/app/enums Arquivos de padronização de entrada para campos específicos no banco de dados
📂 src/app/ middlewares/ Arquivos para serviços de intermédio para rotas ex: autenticação, mensageria, etc
📂 src/app/ services/ Arquivos para funções mais complexas e limpeza de código
📂 src/app/database/migrations/ Arquivos para manter o banco de dados sincronizado quanto a sua estrutura
📂 src/repositories/ Arquivos para expor repositorios das entidades e manipulá-las com metodos do typeorm
📄 src/app/index.ts Arquivo principal de inicialização do projeto
📄 src/app/routes.ts Arquivo para gerenciar as rotas do projeto
📄 src/data-source.ts Arquivo usado para configurar as conexões com o banco de dados com o TypeORM
📄 docker-compose.yml Arquivo usado para "conteinerizar" um banco postgres local
📄 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