Skip to content

🌱Plataforma de streaming educacional desenvolvida para a disciplina Banco de Dados 2025.1. Permite acesso a videoaulas, comentários, certificados e consultas avançadas. Utiliza Node.js, TypeScript, MongoDB, Mongoose e Express.

License

Notifications You must be signed in to change notification settings

arllindosp/MongoDB-project

Repository files navigation

MongoDB Logo

MongoDB Project

O MongoDB Project é uma plataforma acadêmica de streaming educacional destinada à promoção do aprendizado, desenvolvimento de competências e difusão do conhecimento. Este projeto foi concebido para a disciplina de Banco de Dados 2025.1. O sistema permite que estudantes acessem videoaulas, interajam com instrutores, realizem comentários, recebam certificados digitais e acompanhem seu progresso em múltiplos cursos e disciplinas. A solução foi desenvolvida com foco em inovação pedagógica, gestão de conteúdos, análise de desempenho e integração de recursos didáticos, visando apoiar instituições, educadores e aprendizes em ambientes de aprendizagem modernos e colaborativos.

📋 Estrutura do Projeto

├── app.js              # Arquivo principal do servidor Node.js
├── config/             # Configurações gerais do projeto (ex: conexão com banco)
├── controllers/        # Lógica das rotas e regras de negócio (User, Student, Instructor)
├── database/           # Inicialização e configuração do MongoDB
├── models/             # Modelos das entidades do banco (User, Course, etc)
├── scripts/            # Scripts utilitários
│   ├── queries/        # Consultas e relatórios avançados
│   └── seeders/        # Scripts para popular o banco com dados fictícios
├── dist/               # Arquivos compilados (JavaScript gerado pelo TypeScript)
├── package.json        # Gerenciamento de dependências e scripts do projeto
├── tsconfig.json       # Configuração do compilador TypeScript
├── requirements.txt    # Dependências Python (se necessário)
├── README.md           # Documentação do projeto

🛠️ Bibliotecas e Tecnologias Utilizadas

  • Node.js
  • TypeScript
  • MongoDB & Mongoose
  • Express.js
  • JavaScript

Node.js TypeScript MongoDB Express.js JavaScript

🚀 Instalação

  1. Clone o repositório:

    git clone https://github.com/arllindosp/MongoDB-project.git
  2. No diretório principal do projeto, instale as dependências:

    npm install
    npm install mongoose typescript ts-node
  3. Baixe e instale o MongoDB Compass e o mongosh pelo site oficial:

    • MongoDB Compass
    • mongosh Após descompactar o mongosh, adicione o caminho da pasta (path) do executável ao Windows para poder usar o comando no terminal.
  4. Abra o MongoDB Compass, clique em "Nova Conexão" e crie uma conexão com o nome que preferir.

  5. Copie a string de conexão gerada por essa conexão.

  6. Navegue até o arquivo database/mongo.ts no diretório do projeto e ajuste a configuração do banco de dados, colando a string de conexão no local destacado no código. Por exemplo:

    // database/mongo.ts
    import mongoose from 'mongoose';
    
    const uri = 'COLE_AQUI_SUA_STRING_DE_CONEXAO'; // <--- Substitua por sua string
    
    mongoose.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true });

🏃 Como rodar

⚠️ Atenção: Certifique-se de que o MongoDB Compass está aberto e a conexão está estabelecida antes de rodar o projeto!

  1. No diretório raiz do projeto, compile o TypeScript:
    npx tsc
  2. Ainda no diretório principal, popule o banco de dados com dados fictícios:
    node dist/scripts/seeders/seedAll.js
  3. Execute o núcleo do sistema para visualizar um resumo das estatísticas do banco de dados:
    node app.js
  4. Para executar consultas e relatórios, utilize os comandos abaixo no diretório principal:
    • Consulta de transações:
      node dist/scripts/queries/consultaTransacoes.js

      Exibe todas as transações realizadas no sistema.

    • Query avançada:
      node dist/scripts/queries/queryAvancada.js

      Relatórios avançados, estatísticas de alunos, cursos e áreas de conhecimento.

    • Query de tópicos demo:
      node dist/scripts/queries/queryTopicsDemo.js

      Demonstração de tópicos e agrupamentos de cursos.

    • Query 1:
      node dist/scripts/queries/query1.js

      Consulta personalizada 1 (ver código para detalhes).

    • Query 2:
      node dist/scripts/queries/query2.js

      Consulta personalizada 2 (ver código para detalhes).

    • Query 3:
      node dist/scripts/queries/query3.js

      Consulta personalizada 3 (ver código para detalhes).


✨ Funcionalidades Principais

  • Cadastro e autenticação de usuários, alunos e instrutores
  • Criação e gerenciamento de cursos, playlists e aulas
  • Comentários em cursos e aulas
  • Progresso do aluno em cada curso
  • Certificados digitais
  • Carrinho de compras e transações
  • Relatórios e queries avançadas

🛠️ Scripts Úteis

  • Popular banco: node dist/scripts/seeders/seedAll.js
  • Consultas: node dist/scripts/queries/consultaTransacoes.js, queryAvancada.js, etc.

🤝 Contribuição

Contribuições são bem-vindas! Sinta-se livre para abrir issues e pull requests.


📄 Licença

Este projeto está sob a licença ISC. Veja o arquivo LICENSE para mais detalhes.

About

🌱Plataforma de streaming educacional desenvolvida para a disciplina Banco de Dados 2025.1. Permite acesso a videoaulas, comentários, certificados e consultas avançadas. Utiliza Node.js, TypeScript, MongoDB, Mongoose e Express.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •