Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ffzanini/vaga-nave
Teste para vaga de estágio em backend na empresa nave.rs
https://github.com/ffzanini/vaga-nave
express insomnia javascript knex logic-programming nodejs sqlite3 typescript yarn
Last synced: 8 days ago
JSON representation
Teste para vaga de estágio em backend na empresa nave.rs
- Host: GitHub
- URL: https://github.com/ffzanini/vaga-nave
- Owner: ffzanini
- License: mit
- Created: 2021-03-02T17:08:16.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2021-04-05T19:06:22.000Z (almost 4 years ago)
- Last Synced: 2024-11-18T03:32:50.807Z (2 months ago)
- Topics: express, insomnia, javascript, knex, logic-programming, nodejs, sqlite3, typescript, yarn
- Language: TypeScript
- Homepage: https://nave.rs
- Size: 143 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Teste para a vaga de Estagiário Backend na nave.rs
⚒️ Tecnologias |
💻 Projetos |
🚀 Como Executar |
🤔 Como Testar |
🧾 Licença
---
## ⚒️ Tecnologias
#### Tecnologias utilizadas no frontend:
- [JavaScript](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript)
- [HTML5](https://developer.mozilla.org/pt-BR/docs/Web/Guide/HTML/HTML5)
- [CSS](https://developer.mozilla.org/pt-BR/docs/Web/CSS)
- [FetchAPI](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)#### Tecnologias utilizadas no backend:
- [Yarn](https://yarnpkg.com/)
- [Node.js](https://nodejs.org/en/)
- [Express](https://expressjs.com/pt-br/)
- [Knex](http://knexjs.org/)
- [TypeScript](https://www.typescriptlang.org/)
- [Sqlite3](https://www.sqlite.org/index.html)
- [Insomnia](https://insomnia.rest/download/)---
## 💻 Sobre os Projetos
#### Lógica de programação
- [Link_para_o_teste_de_Lógica_Programação](https://codesandbox.io/s/9isjy)
#### Frontend
Desenvolvido um projeto bem simples e responsivo para apresentação de dados vindos de uma API externa via fetch.
#### Backend
Desenvolvida uma API para realizar o cadastro, alteração, exclusão de projetos, navers e seus relacionamentos além de requisições para visualização de projetos e navers presentes na base de dados.
---
## 🚀 Como Executar
#### Clonando o projeto
```sh
git clone https://github.com/ffzanini/vaga-nave.git
```
#### Iniciando a aplicação frontend
```sh
cd frontendwindowns: start .\index.html
linux: xdg-open index.html
```Ou se prefirir, abrir a pasta frontend manualmente e executar o arquivo index.html a partir do duplo clique.
#### Instalação backend
No seu terminal, siga as instruções abaixo para instalar as dependências no projeto.
```sh
cd backend
yarn install
```
#### Antes de gerar um novo banco, execute o comando abaixo para ter certeza que o mesmo se encontra vazio
```sh
cd backend
yarn knex:migrate:rollback
```
#### Gerar o banco de dados
```sh
cd backend
yarn knex:migrate
```
#### Popular o banco de dados
```sh
cd backend
yarn knex:seed
```
#### Iniciando a aplicação backend
```sh
cd backend
yarn start
```
---
## 🤔 Como TestarCom o servidor já inciado, abra o seu Insomnia ou Postman. Caso opte por utilizar o Insominia, na pasta utils contém um arquivo com todas as configurações para os testes. Basta exportar o arquivo para o seu Insominia.
Abaixo ficam detalhados as rotas disponíveis para os testes, assim como as querys que podem ser executadas.
Navers
POST: http://localhost:3333/navers -> Cria um novo Naver e abaixo um exemplo para ser incluido na base:
```sh
{
"name": "Rubens Corrêa",
"birthdate": "1995-12-12",
"admission_date": "2021-02-11",
"job_role": "Desenvolvedor Backend",
"projects": [1, 2]
}
```GET: http://localhost:3333/navers -> Retorna todos os Navers cadastrados
GET: http://localhost:3333/navers?admission_date=asc -> Retorna todos os Navers cadastrados em ordem ascendente
GET: http://localhost:3333/navers?admission_date=desc -> Retorna todos os Navers cadastrados em ordem decrescente
GET: http://localhost:3333/navers/:id -> Retorna o Naver com o ID selecionado e os projetos que participa
PUT: http://localhost:3333/navers/:id -> Altera o Naver com o ID selecionado
DELETE: http://localhost:3333/navers/:id -> Deleta o Naver com o ID selecionado
Projetos
POST: http://localhost:3333/projects -> Cria um novo Projeto
```sh
{
"name": "Projeto Estoy Happy",
"navers": [1,2]
}
```GET: http://localhost:3333/projects -> Retorna todos os Projetos cadastrados
GET: http://localhost:3333/projects?navers=all -> Retorna todos os Projetos cadastrados com seus respectivos Navers
GET: http://localhost:3333/projects?navers=count -> Retorna todos os Projetos cadastrados com sua quantidade de Navers
GET: http://localhost:3333/projects/:id -> Retorna o Projeto com o ID selecionado
PUT: http://localhost:3333/projects/:id -> Altera o Projeto com o ID selecionado
DELETE: http://localhost:3333/projects/:id -> Deleta o Projeto com o ID selecionado
Relacionamentos
POST: http://localhost:3333/relations -> Cria um novo relacionamento entre um Naver e um Projeto existentes na base
```sh
{
"naver_id": 1,
"project_id": 1
}
```PUT: http://localhost:3333/relations/:id -> Altera o Relacionamento com o ID selecionado
DELETE: http://localhost:3333/relations/:id -> Deleta o Relacionamento com o ID selecionado
---
## 🧾 Licença
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
---Feito com 💙 by Felipe Frantz Zanini