Git Product home page Git Product logo

be-mean-instagram-mongodb-projects's Introduction

Projeto Final

No projeto final desse módulo você terá que achar qual a melhor forma de modelagem a partir de uma já previamente feita.

A ideia surgiu de um post do Jorge Rafael no grupo do Facebook com a seguinte modelagem relacional.

Logo após o Herbert Pimentel postou a seguinte modelagem que irá servir de base para nosso projeto final.

Perceba que falta a coleção de user que será seu trabalho criar uma a partir dos dados da modelagem relacional.

Além de criar a coleção user e achar uma modelagem melhor da proposta, terá que explicar o porquê daquela escolha e terá que executar as seguintes ações em suas coleções:

Create - cadastro

  1. Cadastre 10 usuários diferentes.
  2. Cadastre 5 projetos diferentes.
    • cada um com 5 membros, sempre diferentes dentro dos projetos;
    • cada um com pelo menos 3 tags diferentes;
      • escolha 1 tag onde deva ficar em 2 projetos;
      • escolha 1 tag onde deva ficar em 3 projetos;
    • cada projeto com pelo menos 1 goal;
      • cada goal com pelo menos 3 tags;
      • cada goal com pelo menos 2 atividades, deixe 1 projeto sem.

Retrieve - busca

  1. Liste as informações dos membros de 1 projeto específico que deve ser buscado pelo seu nome de forma a não ligar para maiúsculas e minúsculas.
  2. Liste todos os projetos com a tag que você escolheu para os 3 projetos em comum.
  3. Liste apenas os nomes de todas as atividades para todos os projetos.
  4. Liste todos os projetos que não possuam uma tag.
  5. Liste todos os usuários que não fazem parte do primeiro projeto cadastrado.

Update - alteração

  1. Adicione para todos os projetos o campo views: 0.
  2. Adicione 1 tag diferente para cada projeto.
  3. Adicione 2 membros diferentes para cada projeto.
  4. Adicione 1 comentário em cada atividade, deixe apenas 1 projeto sem.
  5. Adicione 1 projeto inteiro com UPSERT.

Delete - remoção

  1. Apague todos os projetos que não possuam tags.
  2. Apague todos os projetos que não possuam comentários nas atividades.
  3. Apague todos os projetos que não possuam atividades.
  4. Escolha 2 usuário e apague todos os projetos em que os 2 fazem parte.
  5. Apague todos os projetos que possuam uma determinada tag em goal.

Gerenciamento de usuários

  1. Crie um usuário com permissões APENAS de Leitura.
  2. Crie um usuário com permissões de Escrita e Leitura.
  3. Adicionar o papel grantRolesToUser e revokeRole para o usuário com Escrita e Leitura.
  4. Remover o papel grantRolesToUser para o usuário com Escrita e Leitura.
  5. Listar todos os usuários com seus papéis e ações.

Cluster

Depois de criada toda sua base você deverá criar um cluster utilizando:

  • 1 Router
  • 1 Config Server
  • 3 Shardings
  • 3 Replicas

Você deverá escolher qual sua coleção deverá ser shardeada para poder aguentar muita carga repentinamente e deverá replicar cada Shard, pode ser feito localmente como em alguma VPS FREE.

A Estrutura

# MongoDb - Projeto Final
**Autor:** Nome Completo
**Data** Date.now() //em timestamp

## Para qual sistema você usaria o MogoDB (diferente desse)?

## Qual a modelagem da sua coleção de `users`?

## Qual a modelagem da sua coleção de `projects`?

## Qual a modelagem da sua coleção retirada de `projects`?

## Create - cadastro

## Retrieve - busca

## Update - alteração

## Delete - remoção

## Sharding
// coloque aqui todos os comandos que você executou

## Replica
// coloque aqui todos os comandos que você executou

O Envio

Envie seu arquivo para esse repositório seguindo o seguinte padrão de nome para o arquivo:

project-githubuser-nome-completo-com-hífens.md

be-mean-instagram-mongodb-projects's People

Contributors

callmefabioo avatar davidsonsns avatar ednilsonamaral avatar ericcristhiano avatar fabiocalheiros avatar filipe1309 avatar higordiego avatar leonascimento avatar lucasxciv avatar matheusjkweber avatar paulorbdev avatar sergiokopplin avatar suissa avatar tuchedsf avatar

Watchers

 avatar  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.