Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[EMANUEL MARQUES] - Solução do desafio para a vaga de Desenvolvedor Backend Júnior (remoto) #100

Open
wants to merge 23 commits into
base: master
Choose a base branch
from

Conversation

Emanuel-Marques
Copy link

@Emanuel-Marques Emanuel-Marques commented Nov 17, 2024

Neste pull request, implementei a solução para o desafio técnico solicitado. A solução inclui:

1. Criação das Tabelas no init.sql:

  • Implementei as tabelas user e post conforme as especificações do enunciado.

  • A tabela user contém os campos id, firstName, lastName e email, com a devida configuração de chave primária e restrições.

  • A tabela post possui os campos id, title, description e userId, sendo que userId é uma chave estrangeira que referencia a tabela user.

2. Criação das Entidades User e Post:

  • Criei as entidades User e Post dentro da pasta src/Entity utilizando o TypeORM.

  • A relação entre as entidades foi configurada de acordo com o banco de dados, com o uso de @OneToMany em User e @ManyToOne em Post, garantindo o relacionamento adequado entre as tabelas.

3. Configuração dos Endpoints users e posts:

  • Implementei os endpoints REST para criar usuários e posts, utilizando Express e TypeORM para manipulação do banco de dados.

  • O endpoint /users permite criar um novo usuário, enquanto o endpoint /posts cria um post associado a um usuário existente.

4. Configuração do Dockerfile:

  • Configurei o Dockerfile para que a aplicação seja corretamente construída e executada em um ambiente Docker.

5. Melhorias no Código:

  • Validações: Implementei validações nos endpoints para garantir que os dados estão presentes antes de salvar os usuários e posts no banco de dados.

Adds a Dockerfile to enable containerization for the application.
Uses a Node.js base image and installs dependencies.
- Added POST /users endpoint to create new users with firstName, lastName, and email.
- Added POST /posts endpoint to create new posts with title, description, and userId.
- Integrated with the respective repositories for saving entities to the database.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant