https://github.com/jailsonsf/stant-test
Organizador de palestras, consiste em uma api que recebe um arquivo com uma lista de propostas de palestra e retorna as palestras organizadas por horário
https://github.com/jailsonsf/stant-test
axios cors express javascript multer nodejs nodemon react vite
Last synced: 2 months ago
JSON representation
Organizador de palestras, consiste em uma api que recebe um arquivo com uma lista de propostas de palestra e retorna as palestras organizadas por horário
- Host: GitHub
- URL: https://github.com/jailsonsf/stant-test
- Owner: jailsonsf
- License: mit
- Created: 2022-02-22T17:41:46.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-04T16:02:22.000Z (over 4 years ago)
- Last Synced: 2025-01-24T07:47:20.078Z (over 1 year ago)
- Topics: axios, cors, express, javascript, multer, nodejs, nodemon, react, vite
- Language: JavaScript
- Homepage:
- Size: 568 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Stant-test

## Organizador de Palestras
Este projeto é um organizador de palestras, nele recebemos um arquivo com uma lista de diversas propostas de palestras e retorna as palestras organizadas de acordo com as restrições de tempo do evento.
## Projeto
O projeto está dividido em duas partes. A parte da API onde temos toda a lógica de como organizar as palestras e de como tratar as lista de propostas de palestras recebidas; E a parte do frontend responsável por enviar o arquivo contendo as propostas de palestras.
### Features
- [x] API
- [x] Endpoint para receber arquivo com a listagem de palestras
- [x] Transformar o conteudo do arquivo recebido em um array de objetos
- [x] Criar Tracks
- [x] Retornar Palestras organizadas
- [x] Frontend
- [x] Enviar arquivo para a api
## Executar o projeto
### Requisitos
Para executar este projeto precisamos ter instalado o Node.js e um gerenciador de pacotes como npm ou yarn. Neste projeto usei o yarn.
- [Node.js](https://nodejs.org/en/)
- [Yarn](https://yarnpkg.com/)
Com o node e o gerenciador de pacotes instalados, vamos agora instalar as dependências do projeto.
#### Executando a API
Em um terminal vamos executar o seguinte comando:
```bash
cd api
```
E agora vamos instalar os pacotes:
```bash
yarn
# or npm install
```
Feito isso vamos executar nossa api usando o comando:
```bash
yarn dev
# or npm run dev
```
Com isso nossa api já está executando e aceitando as requisições para o nosso endpoint.
Para fazer essas requisições podemos usar ferramentas como o insomnia ou postman.
Em uma dessas ferramentas vamos criar uma rota do tipo POST que faz requisição para o link da nossa api, e vamos configurar a requisição para fazer o upload de arquivos usando o corpo da requisição como multipart.

#### Executando o frontend
Podemos também fazer essas requisições pelo nosso frontend
Em um terminal vamos executar o seguinte comando:
```bash
cd frontend-app
```
E agora vamos instalar os pacotes:
```bash
yarn
# or npm install
```
Feito isso vamos executar nossa aplicação frontend usando o comando:
```bash
yarn dev
# or npm run dev
```
Com isso nossa aplicação frontend já está executando e aceitando as requisições para o nosso endpoint.
Para acessarmos o link do nosso app frontend podemos clicar no link que será mostrado no terminal onde executamos o nosso frontend:

Para fazer essas requisicões basta adicionarmos um arquivo com as propostas de palestras igual ao arquivo de exemplo (arquivo proposals.txt na raiz do projeto). E para vermos o resultado das requisições vamos usar o console do navegador (F12 para abrir o console)

## Tecnologias usadas






| API | Frontend |
|------------|------------|
| JavaScript | JavaScript |
| Node.js | React |
| Express | Axios |
| Nodemon | Vite |
| Multer | |
| Cors | |
## Autor
**Jailson Soares de Farias**
**LinkedIn**: https://linkedin.com/in/jailsonsoares/
**GitHub**: https://github.com/jailsonsf