Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/isaquetdiniz/desafioviitra
Repositório para um desafio da Viitra
https://github.com/isaquetdiniz/desafioviitra
hacktoberfest
Last synced: 8 days ago
JSON representation
Repositório para um desafio da Viitra
- Host: GitHub
- URL: https://github.com/isaquetdiniz/desafioviitra
- Owner: isaquetdiniz
- License: mit
- Created: 2020-10-29T18:50:59.000Z (about 4 years ago)
- Default Branch: develop
- Last Pushed: 2020-10-31T17:23:48.000Z (about 4 years ago)
- Last Synced: 2023-03-04T18:08:53.060Z (over 1 year ago)
- Topics: hacktoberfest
- Language: JavaScript
- Homepage:
- Size: 253 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Desafio Viitra
Repositório contendo o desafio proposto pela Viitra para uma oportunidade de estágio## O Desafio
É construir um CRUD (Create, Read, Update, Delete) utilizanndo MYSQL como banco de dados, junto à uma interface (Front) integrada para a visualização e manipulação desses dados.## Minhas Escolhas
Para o desafio, escolhi construir o back utilizando Node (Express, Typescript, TypeORM), com o Bando de Dados rodando através do Docker, e o front com React.js.## O Resultado
O projeto consegue realizar as operações básicas e dar o feedback para o usuário, mas possui alguns pontos de melhoria importantes:
* Validação do CPF
* Validação do CEP
* Formatação da Data (Inserir a data no Modal de Edição)
* Design e UX
* Mensagens e Feedbacks de Erro## Como rodar o projeto?
É possível que você tenha uma melhor experiência caso esteja utilizando Linux.### O primeiro passo é rodar o docker
1. Se você não tem o docker instalado, pode seguir a instalação por [aqui](https://docs.docker.com/get-docker/).
2. Agora, em seu terminal rode: ```sudo docker pull mysql:5.6``` para baixar uma nova imagem docker mysql (utilizei a versão 5.6 por perceber alguns problemas de autenticação com a versão mais recente)
3. Após isso, é possível iniciar o container com ```sudo docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=docker mysql:5.6```
4. Com o container rodando, abra um novo terminal e digite ```sudo docker ps``` para listá-lo e copie o seu **CONTAINER ID**.
5. Agora, vamos acessá-lo usando ```sudo docker exec -it bash```
6. Dentro do nosso container, é só acessar o mysql com ```mysql -u root -p```
7. Ele vai pedir a senha, é só digitar a MYSQL_ROOT_PASSWORD (que no nosso caso foi 'docker') e apertar enter
8. Agora, criaremos nosso database com ```create database viitra;``` e apertar enter
9. Tudo certo! Podemos sair digitando ```exit``` para sair do mysql, e depois ```exit``` para sair do bash do container### Com o docker e o banco de dados criado
1. Vamos configurar o **.env** para poder rodar o nosso server.
2. Entre na pasta do server, crie um arquivo .env com:
```
PORT=3001DATABASE_TYPE=mysql
DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_USER=root
DATABASE_PASSWORD=docker
DATABASE_DB=viitra
```
3. Agora instale as dependências com ```yarn install```
4. Antes de rodar o server, precisamos rodar as migrations (que irão criar as tabelas do nosso database), para isso rode ```yarn typeorm migration:run```
5. Após isso, podemos rodar o nosso server com ```yarn dev```### Com o server configurado e rodando
1. É a hora de rodar o nosso client!!! :)
2. Para isso, navegue até o client e rode ```yarn install```
3. Se ocorrer erro por causa da versão do Node, é possível resolver com (e repetir o passo 2):
```
sudo npm i -g n
sudo n 14
```
4. Após a instalação, é só rodar ```yarn start```
5. O client estará rodando na ```localhost:3001```