Skip to content

Neste desafio, você deverá desenvolver uma aplicação full-stack utilizando React para o frontend e Node.js com NestJS para o backend. O objetivo é implementar um sistema de gerenciamento de novos heróis da Marvel com operações CRUD (Create, Read, Update, Delete).

Notifications You must be signed in to change notification settings

karlosedu28/crud-herois-da-marvel-fullstack

 
 

Repository files navigation

Desafio: Criação de um CRUD de Novos Heróis da Marvel

Neste desafio, você deverá desenvolver uma aplicação full-stack utilizando React para o frontend e Node.js com NestJS para o backend. O objetivo é implementar um sistema de gerenciamento de novos heróis da Marvel com operações CRUD (Create, Read, Update, Delete).

OBS : Você receberá um e-mail com a data de início dos desafios, mas eles já estão disponíveis para acesso imediato. Se ainda não preencheu o formulário, por favor, acesse o link para completá-lo. Forms de inscrição é importante está inscrito no formulário , pois o seu email precisa ser validado

Requisitos do Projeto

Frontend (React + TypeScript)

Página Principal:

  • Exibe a lista de heróis.
  • Permite a criação de um novo herói.
  • Permite a atualização de heróis existentes.
  • Permite a exclusão de heróis.

Componentes Necessários:

  • HeroList: Componente que exibe a lista de heróis.
  • HeroItem: Componente que representa um herói individual com opções de editar e excluir.
  • HeroForm: Componente para criar e editar heróis.

Backend (Node + NestJS + TypeScript + Banco de Dados Relacional ou Não Relacional)

Rotas para CRUD de Heróis:

  • Criar Herói

    • Endpoint: /heroes
    • Método: POST
    • Descrição: Cria um novo herói. Os dados do herói (nome, habilidades, e origem) devem ser enviados no corpo da requisição. O cadastro deve ser predefinido a heróis que já existem no universo Marvel.
  • Listar Heróis

    • Endpoint: /heroes
    • Método: GET
    • Descrição: Retorna a lista de todos os heróis.
  • Atualizar Herói

    • Endpoint: /heroes/:id
    • Método: PUT
    • Descrição: Atualiza um herói existente com base no ID. Os novos dados do herói (nome, habilidades, e origem) devem ser enviados no corpo da requisição.
  • Excluir Herói

    • Endpoint: /heroes/:id
    • Método: DELETE
    • Descrição: Exclui um herói existente com base no ID.

Requisitos Técnicos

Frontend:

  • Utilizar React com TypeScript.
  • Utilizar Axios ou Fetch para fazer requisições HTTP ao backend.
  • Gerenciar o estado da aplicação utilizando o contexto do React ou uma biblioteca de gerenciamento de estado como Redux ou Zustand.
  • Uso do SWR será considerado uma habilidade valorizada.
  • É opcional utilizar a API de personagens da Marvel.

Backend:

  • Utilizar NestJS com TypeScript.
  • Utilizar um banco de dados relacional ou não relacional (ex. MongoDB, PostgreSQL, MySQL).
  • Implementar as operações CRUD (Create, Read, Update, Delete) para gerenciar os heróis.

Critérios de Avaliação

  • Funcionamento correto das operações CRUD no frontend e backend.
  • Qualidade e clareza do código.
  • Organização do projeto e estrutura de pastas.
  • Documentação das rotas e como utilizá-las.
  • Interface do usuário e experiência do usuário (UI/UX).

Entrega

Faça o deploy da sua aplicação em plataformas como GitHub Pages, Heroku, Vercel, Netlify, ou qualquer outra de sua preferência. Após concluir o desafio, envie o link do deploy e do repositório do código-fonte por e-mail para [email protected]. O e-mail deve incluir:

  • Nome
  • Link do GitHub
  • Link do LinkedIn
  • Data de Início
  • Data de Entrega
  • Link do GitHub com o Código
  • Link do Deploy

Observação: É obrigatório entregar os três desafios em até 20 dias após o início. O desafio atual é a Parte 01 de 03 desafios.

Prazo

Você tem 20 dias para concluir todos os três desafios.

Como Participar

  1. Faça um fork deste repositório.
  2. Desenvolva sua solução no seu repositório forkado.
  3. Após completar o desafio, envie o link do deploy e do repositório através do e-mail para [email protected] com o assunto: "Entrega + Desafios[01] + Seu Nome".

Exemplo de E-mail

Assunto: Entrega + Desafios[01] + João Silva Olá,

Segue abaixo a entrega do Desafio 01 para o processo seletivo do Frontend Fusion.

Nome: João Silva Link do GitHub: https://github.com/joaosilva Link do LinkedIn: https://linkedin.com/in/joaosilva Data de Início: 01/09/2024 Data de Entrega: 20/09/2024 Link do GitHub com o Código: https://github.com/joaosilva/desafio01 Link do Deploy: https://joaosilva.netlify.app

Agradeço a oportunidade e estou à disposição para qualquer dúvida.

Atenciosamente, João Silva

Boa sorte e estamos ansiosos para ver seu trabalho! 🚀

Este desafio faz parte do processo seletivo do projeto Frontend Fusion para a vaga de Desenvolvedor React Júnior.

About

Neste desafio, você deverá desenvolver uma aplicação full-stack utilizando React para o frontend e Node.js com NestJS para o backend. O objetivo é implementar um sistema de gerenciamento de novos heróis da Marvel com operações CRUD (Create, Read, Update, Delete).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 60.8%
  • JavaScript 15.0%
  • TypeScript 13.8%
  • HTML 10.4%