A Next Level Week é um evento da Rocketseat de imersão em tecnologia. Onde é uma semana de aulas com conteúdos incríveis e uma comunidade bem massa de se fazer network. Nesse evento há diversas tecnologias, esta por exemplo é a trilha de NodeJs.
#juntosparaoproximonivel
A proposta deste NLW é desenvolver um backend de um chat entre um usuário e alguém que dê suporte ao usuário, para isto irá ser utilizado o NodeJs
, Typescript
, SQLite
e Socket
.
Dia 1
O primeiro dia foi para explicar conceitos sobre as tecnologias a serem utilizadas, o motivo de utilizar Typescript
ao invés do Javascript
, o database a ser utilizado e como iniciar o projeto e adicionar as dependências.
Dia 2
O segundo dia foi para entender os conceitos do database
e as ferramentas que iriam ser utilizadas, além de terminar de fazer as configurações do Typescript
.
O projeto irá utilizar o SQLite
, e foi definido que o Typeorm
será a ferramenta que irá configurar o database. Com o Typeorm
foi criado o migrations
e o nosso database.sqlite
.
Foi feito também uma estrutura para criação de Settings
, separados em Entity, Repository e Controller, além de ser configurado nas rotas.
Entity: É a entidade
, é onde será definido os campos que ele poderá receber.
Repository: Ele é responsável pela manipulação dos dados entre a entidade
e o database
.
Controller: Ele é reponsável pela comunicação entre o quê está vindo da rota e o repository
.
Dia 3
No terceiro dia a gente fez uma pequena refatoração do código criando um Services para fazer o gerenciamento da manipulação do repository
e criamos a Entity, Repository, Controller e Services do User
e Messages
.
Services: São funções que o Controller
irá utilizar.
Dia 4
No quarto e penúltimo dia a gente fez a implementação do websocket com o socket.io
e fizemos uma pequena configuração do websocket e o client(html).
Dia 5
No quinto e último dia a gente finalizou a integração do socket, fazendo o fluxo de chat entre o usuário e atentente e assim terminamos a aplicação.
Agradecimento à Rocketseat 🚀 pelo evento incrível!💜
Matheus Ishiyama