Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucasrmagalhaes/bootcamp_eduzz-node_react
Bootcamp Eduzz realizado na plataforma Digital Innovation One.
https://github.com/lucasrmagalhaes/bootcamp_eduzz-node_react
dio eduzz
Last synced: 2 days ago
JSON representation
Bootcamp Eduzz realizado na plataforma Digital Innovation One.
- Host: GitHub
- URL: https://github.com/lucasrmagalhaes/bootcamp_eduzz-node_react
- Owner: lucasrmagalhaes
- License: mit
- Created: 2021-12-15T03:33:44.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-07T16:27:12.000Z (almost 2 years ago)
- Last Synced: 2023-03-03T22:32:55.869Z (over 1 year ago)
- Topics: dio, eduzz
- Language: TypeScript
- Homepage:
- Size: 1.93 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Bootcamp Eduzz - DIO | Issues
Mentoria 01: Aula Inaugural: Como ser o próximo contratado pela Eduzz
Apresentação do bootcamp.
Mentoria 02: Carreira Eduzz: cultura e governança
Como funciona o dia a dia na Eduzz.
Mentoria 03 - Projeto Eduzz: Explicando o projeto Eduzz e prototipando a aplicação
* [Dribbble](https://dribbble.com/)
* [Behance](https://www.behance.net/)
* [Pinterest](https://www.pinterest.pt/)
* [Figma](https://www.figma.com/)
* [Houston](https://eduzz.github.io/houston/)Exemplo de Projeto no Figma.
Mentoria 04 - Projeto Eduzz: Componentizando a aplicação e criando interfaces responsivas
Principios importantes
- Estrutura de pastas
- Separação de responsabilidade
- Entender o framework e a linguagem
Frameworks recomendados
- Redux Toolkit - Gerenciamento do Estado
- MUI - UI components
- Formik - Validação do formulário
- Emotion/Styled Component - Estilização
Mentoria 05 - Projeto Eduzz: Criando a base de dados para suportar a aplicação
**O que é Banco de Dados?** Coleção organizada de informações.
##### Tipos
- Bancos de dados relacionais
- Bancos de dados NoSQL
- Data warehouses
- Bancos de dados gráficos
##### Banco relacional
- MySQL, MariaDB, Postgree, SQLServer, SQLite3
- Armazenam dados em tabelas e linhas
- Usam SQL
- ACID (Atomicidade, Consistência, Isolamento, Durabilidade)
- Integralidade do dado
- Dados bem definidos
##### Não relacional
- Firebase, MongoDB, ElasticSearch, Redis, Cassandra, DynamoDB...
- Flexibilidade
- Documentos (semelhantes a JSON), chave-valor
- Armazenando registros na mesma coleção que possuem diferentes campos ou atributos
- Escala horizontalmente
- Não tem uma forma padrão de recuperação de dados
##### Chave primária
- Identificador único de um registro na tabela
- Não pode ser NULL
- Não podem ser simples ou compostas
##### Chave estrangeira
- Chave primária de outra tabela, ou dela mesma
- Pode ser NULL
##### Clientes de BD
- MySQL Workbench
- DBeaver
- HeidiSQL
##### Migration
- Versiona o schema da aplicação
- Controle de alterações do banco
- Pode ser adicionada ao deploy automático
##### Seeds
- Pode ser usada para DADOS DE TESTE ou valores PRÉ DEFINIDO
- Pode ser adicionada ao deploy automático
Mentoria 06 - Projeto Eduzz: Desenvolvendo o back-end da aplicação e plugando o front-end
- Sobre APIs;
- Primeiro endpoint (hands-on);
- Funcionamento do NodeJS;
- Relembrando o que é Typescript;
- Detalhar a arquitetura do projeto; e
- API funcionando!
**APIs (Application Programming Interface - Interface de Programação de Aplicação)**
[V8](https://v8.dev/)
Dentro do diretório ```api```
```
docker-compose up
```
```
yarn install
```
```
yarn start
```
[Public APIs](https://github.com/public-apis/public-apis)
Mentoria 07 - Projeto Eduzz: Entendendo e utilizando serviços de mensageria
- Conceitos sobre processamento assíncrono;
- Message Brokers;
- Funcionamento do RabbitMQ;
- Aplicação prática;
- Nova arquitetura do projeto; e
- Esqueci minha senha funcionando!
O que é assíncrono?
Um processo assíncrono é um processo ou função que executa uma tarefa "em segundo plano", sem que o usuário precise esperar que a tarefa termine.
**Message Brokers**
É quem define para qual fila vai a mensagem
Filas - Message Brokers - Eventos
RabbitMQ, Redis e Amazon SQS
[RabbitMQ Simulator](http://tryrabbitmq.com/)
Mentoria 08 - Projeto Eduzz: Vislumbrando possibilidades de integração da aplicação com a nuvem
##### O que é nuvem?
O termo nuvem é o nome dado à tecnologia que permite a distribuição de serviços de computação e o acesso online a eles sem a necessidade de instalar programas. Justamente por não necessitar da instalação de programas, ou do armanezamento de dados, o conceito originado do inglês cloud computing faz alusão à "nuvem".
**Alguns serviços na nuvem:** Spotify, Youtube, Facebook, Instagram, Dropbox e Google Docs.
##### Provedores de Cloud vs Meu Servidor
No meu servidor, tudo eu tenho que fazer, na nuvem eu tenho a possibilidade de tudo ser gerenciado pelo provedor escolhido.
Limitação de recurso: estou limitado ao poder computacional da máquina contratada (contratações de novas máquinas pode levar tempo).
##### Benefícios dos Serviços de Cloud
**Escalabilidade:** Capacidade de um Sistema em adicionar ou remover recursos de maneira autônama sem interrupções.
**Gerenciamento:** Os serviços são gerenciados pelo provedor para que você ponha esforço no seu produto.
**Custo:** Normalmente os serviços contratados são cobrados por tempo de execução, armazenamento, e cosutumam ser baratos.
**Confiabilidade:** Facilita e reduz os custos de backup de dados, recuperação de desastre e continuidade dos negócios, já que os dados podem ser espelhados em diversos sites redundantes na rede do provedor em nuvem.
**Segurança:** Os provedores em nuvem oferecem um amplo conjunto de políticas, tecnlogias e controles que fortalecem a segurança, ajudando a proteger os dados, os aplicativos e a infraestrutura contra possíveis ameaças.
Diversos serviços para surpotarem seu produto:
- Banco de Dados
- Caching
- Armazenamento
- Backup
- Rede
- Monitoramento
- DNS
- CDN
- Autenticação/Autorização
- Inteligência Artificial
- Blockchain
- Contâineres
- Deploy
- Etc, etc, etc...
**Provedores de serviços de nuvem:** Amazon Web Services, Azure, Google Cloud Platform, Heroku, Vercel e Digital Ocean.
**Serviços que vamos usar:**
- AWS RDS
- AWS ECR
- AWS ECS
- GitHub Actions
[RDS](https://aws.amazon.com/pt/rds/)
É o serviço de banco de dados da AWS. É nele que criamos as nossas instâncias de banco de dados. É um serviço AWS e suporta uma gama de banco de dados relacionais.
[ECR](https://aws.amazon.com/pt/ecr/)
Basicamente é o serviço de armazenamento de imagens de contêineres da AWS. Você também pode usar outros serviços fora da nuvem da AWS, como o Docker Hub.
[ECS](https://aws.amazon.com/pt/ecs/)
Faz a orquestração dos nossos contêineres baseado nas configurações que definimos para eles. Ele é o serviço responsável pela escalabilidade da nossa aplicação.
[Calculator API](https://github.com/tgbaldo/dio-calculator-api)
Mentoria 09 - Projeto Eduzz: Retire todas as dúvidas encontradas no desenvolvimento do projeto
Dicas/Conselhos e os bastidores de um DEV na Eduzz.