Coder Social home page Coder Social logo

lealjp / on11-todasemtech-s14-projetoguiado-bbd Goto Github PK

View Code? Open in Web Editor NEW

This project forked from reprograma/on11-todasemtech-s14-projetoguiado-bbd

0.0 0.0 0.0 26 KB

Turma Online 11 - Todas em Tech | Back-end | 2021 | Semana 14: Projeto Guiado - CRUD com BD

Shell 0.18% JavaScript 99.82%

on11-todasemtech-s14-projetoguiado-bbd's Introduction

On11-TodasEmTech-s14-ProjetoGuiado-BBD

Turma Online 11 - Todas em Tech | Back-end | 2021 | Semana 14: Projeto Guiado - CRUD com BD

Combinados

Chamada, apresentação das monitoras e acordos:

video chamada

  • Usar as reações do zoom e levantar a mão para sinalizar que gostaria de falar
  • Enviar as dúvidas no chat
  • Manter microfone desligado quando outras pessoas estiverem falando
  • Manter câmera ligada o máximo possível
  • Momento mão no código, momento de olho na tela


Sobre o Projeto

O FavMovies é um sistema de gerenciamento de catálogos de filmes dos estudios Marvel, Ghibli e Pixar.

Onde receberemos cadastros de títulos(filmes e séries) referenciando cada estúdio criador.

"Relacionamento" no MongoDB? Como é isso?
- ref no model
- populate do find (eager loading)

Tecnologias que vamos usar:

Ferramenta Descrição
javascript Linguagem de programação
nodejs Ambiente de execução do javascript
express Framework NodeJS
dotenv Dependência para proteger dados sensíveis do projeto
mongoose Dependência que interage com o MongoDB para a conexão da database, criação do model e das collections
nodemon Dependência que observa as atualizações realizadas nos documentos para rodar o servidor automaticamente
npm ou yarn Gerenciador de pacotes
MongoDb Banco de dado não relacional orietado a documentos
MongoDb Compass Interface gráfica para verificar se os dados foram persistidos
Insomnia ou Postman Interface gráfica para realizar os testes


📁 Arquitetura

 📁 FavMovies
   |
   |-  📁 src
   |    |
   |    |- 📁 data
   |         |- 📄 database.js
   |
   |    |- 📁 controllers
   |         |- 📄 tituloController.js
   |         |- 📄 estudioController.js
   |
   |    |- 📁 models
   |         |- 📄 titulo.js
   |         |- 📄 estudio.js
   |
   |    |- 📁 routes
   |         |- 📄 tituloRoutes.js 
   |         |- 📄 estudioRoutes.js 
   |
   |
   |- 📄 .env
   |- 📄 .env.example
   |- 📄 .gitignore
   |- 📄 package
   |- 📄 server.js



Contrato

Acesse o board para conferir as informações de forma visual: https://miro.com/app/board/o9J_lA7Nns8=/

Requisitos

  • "/titulos/marvel" Deverá retornar todos os títulos com o estudio Marvel

  • "/titulos/ghibli" Deverá retornar todos os títulos com o estudio Ghibli

  • "/titulos/pixar" Deverá retornar todos os títulos com o estudio Pixar

  • "/estudios" Deverá retornar todos os estudios cadastrados

  • "/titulos" Deverá retornar todos os títulos cadastrados, cada um fazendo referencia ao seu respectivo estudio

  • "/estudios" Deverá criar um estudio

  • "/titulos" Deverá criar um título

  • "/titulos/[ID]" Deverá deletar titulo por id específico e retorna mensagem amigável

  • "/estudios/[ID]" Deverá deletar estudio por id específico e retorna mensagem amigável

  • "/titulos/[ID]" Deverá alterar informação específica dentro de um titulo por id específico e retorna o título alterado

  • "/estudios/[ID]" Deverá alterar informação específica dentro de um estudio por id específico e retorna o título alterado

Regras de negócio

  • Não deverá ser possível criar estudio com o mesmo nome
  • Não deverá ser possível criar título com o mesmo nome
  • Para criar um novo título, deverá vincular no momento da criação a um estudio já existente no sistema


Dados para Collection Estudios

  • id: autogerado e obrigatório
  • nome: texto e obrigatório
  • criadoEm: data gerada automaticamente e obrigatório

API deve retornar seguinte JSON:

[
    {
    "criadoEm": "2021-06-05T01:27:40.886Z",
    "_id": "60bad38c8c299c285d2685e7",
    "nome": "Marvel",
    "__v": 0
    },
    {
    "criadoEm": "2021-06-05T01:27:40.886Z",
    "_id": "60bad33d8c299c285d2685e5",
    "nome": "Ghibli",
    "__v": 0
  },
  {
    "criadoEm": "2021-06-05T01:27:40.886Z",
    "_id": "60bad33d8c299c285d2685e5",
    "nome": "Pixar",
    "__v": 0
  }
]


Dados para Collection Titulos

  • id: autogerado e obrigatório
  • nome: texto e obrigatório
  • genero: texto e obrigatório
  • descricao: texto e obrigatório
  • criadoEm: data gerada automaticamente e obrigatório
  • estudio: referencia do estudio cadastrado previamente obrigatório

API deve retornar seguinte JSON:

[
  {
    "criadoEm": "2021-06-05T01:27:40.892Z",
    "_id": "60bad3568c299c285d2685e6",
    "nome": "Spirited Away",
    "genero": "romance",
    "descricao": "SPIRITED AWAY é uma fantasia maravilhosa sobre uma jovem garota, Chihiro, presa em um estranho mundo novo de espíritos. Quando seus pais passam por uma transformação misteriosa, ela deve invocar a coragem que ela nunca soube que tinha para se libertar e retornar sua família para o mundo exterior. Uma história inesquecível e cheia de criatividade, SPIRITED AWAY o levará em uma jornada além da sua imaginação.",
    "estudio": {
      "criadoEm": "2021-06-05T01:27:40.886Z",
      "_id": "60bad33d8c299c285d2685e5",
      "nome": "Ghibli",
    }
  }
]


Entregavel

Crie seu repositório contendo:

  • um readme com os maiores aprendizados nesse projeto e copiando todas as informações sobre o projeto
  • cumprimento total do contrato (requisitos e regras de negócios)
  • realizar testes no Postman e verificar se os dados estão persistindo com o mongoDB

Subir o repositório no classroom.

Simara Conceição

on11-todasemtech-s14-projetoguiado-bbd's People

Contributors

simaraconceicao avatar oskojess avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.