Objetivo ā¢
O Objetivo dessa aplicaĆ§Ć£o, Ć© entregar uma aplicaĆ§Ć£o que possibilita usuĆ”rios se elogiarem. No qual os usuĆ”rios administradores podem criar tags como #Inspirador, e os usuĆ”rios normais possam enviar e receber elogios usando estas tags...
Bom, foi uma semana de muito aprendizado, tudo muito rƔpido e direto ao ponto. Mas, alƩm de ter fortalecido a bagagem que eu jƔ venho montando ao longo dos dias, vieram vƔrios novos conhecimentos.
Neste projeto, dividimos a api em basicamente 4 camadas principais Controllers, Entities, Repositories e Services.
Bom, na Entities, Ć© onde vamos modelar os dados da nossa aplicaĆ§Ć£o. Por exemplo, na aplicaĆ§Ć£o, temos as Tags que serĆ£o incluidas nos elogios que os usuĆ”rios criarem, essas tags terĆ£o algumas informaƧƵes como: ["ID", "Nome", "Data de CriaĆ§Ć£o", "Data de AtualizaĆ§Ć£o"] e pra isso, temos que criar uma entidade para representar essas informaƧƵes.
Os Repositories serĆ” responsĆ”vel por fazer a manipulaĆ§Ć£o no banco de dados, Ć© ele que irĆ” fazer a Consulta, InserĆ§Ć£o, DeleĆ§Ć£o e AtualizaĆ§Ć£o de dados. (Usamos os repositĆ³rios customizados do TypeORM para nos auxiliar)
Os Services Ć© responsĆ”vel por controlar todas as regras da nossa aplicaĆ§Ć£o, por exemplo, na nossa aplicaĆ§Ć£o nĆ³s nĆ£o vamos permitir que o usuĆ”rio crie uma tag do mesmo nome, entĆ£o, precisamos tratar isso, e Ć© na Service que fazemos isso.
Os Controllers Ć© praticamente a Ćŗltima etapa nas quais os nossos dados passam, Ć© ele que serĆ” responsĆ”vel por pegar as requisiƧƵes de um usuĆ”rio, por exemplo, o usuĆ”rio quer criar uma tag nova, e ai, ele envia os dados desta tag nova e espera um retorno pra saber se ocorreu tudo bem. Ele irĆ” enviar os dados, a controller recebe, envia para o Service verificar estes dados, e retornar as informaƧƵes de acordo com a requisiĆ§Ć£o.