https://github.com/raizertechdev/tarefastackx-tabelas-query
Tarefa desenvolvida no curso StackX, utilizando Node.js e MongoDB Atlas para criar e executar queries a partir de uma tabela fornecida!
https://github.com/raizertechdev/tarefastackx-tabelas-query
javascript mongodb-atlas nodejs
Last synced: 9 months ago
JSON representation
Tarefa desenvolvida no curso StackX, utilizando Node.js e MongoDB Atlas para criar e executar queries a partir de uma tabela fornecida!
- Host: GitHub
- URL: https://github.com/raizertechdev/tarefastackx-tabelas-query
- Owner: RaizerTechDev
- Created: 2024-11-23T03:18:27.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-27T21:31:06.000Z (about 1 year ago)
- Last Synced: 2025-01-30T15:40:52.934Z (11 months ago)
- Topics: javascript, mongodb-atlas, nodejs
- Language: JavaScript
- Homepage: https://github.com/RaizerTechDev/tarefaStackX-tabelas-query/blob/master/Documentation.md
- Size: 101 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Tarefa - Banco de Dados -Tabela Query
## Índice
- [Objetivo](#-objetivo)
- [Documentação](#-documentação-do-projeto)
- [Instalação](#instalação-com-bash)
- [Gerenciamento de Tabelas - Operações de Listar e Deletar](#gerenciamento-de-tabelas---operações-de-listar-e-deletar)
- [Demonstração Código Resumido](#demonstração-código-resumido)
- [- `models/Aluno.js`](#--modelsalunojs)
- [- `database/index.js`](#--databaseindexjs)
- [- `app.js`](#--appjs)
## 🌟 Objetivo:
### 🎯 Veja essa tabela e escreva a query pedida no fim:
Tabela - provas
📍Colunas:
📍 id_aluno - número
📍 id_materia - número
📍 nota - número flutuante
📍 data_da_prova data
Tabela - aluno
📍 colunas:
📍 id numero
📍 nome string
📍 data_nascimento numero
Tabela - professor
📍 colunas:
📍 id numero
📍 nome string
📍 data_nascimento numero
Tabela - materia
📍 colunas:
📍 id numero
📍 nome string
📍 id_professor numero
🎯 Crie 3 alunos;
🎯 Crie uma matéria e um professor;
🎯 Crie 1 prova para cada aluno nessa matéria e diga que nota eles tiraram.
---
## 📖 Documentação do Projeto

[✨ **Clique aqui para saber mais da documentação** ✨](https://github.com/RaizerTechDev/tarefaStackX-tabelas-query/blob/master/Documentation.md)
[Demonstração-Tabelas]

---
## Instalação com bash
- Clone o repositório:
```
git clone https://github.com/seu-usuario/nome-do-repositorio.git
```
- Navegue até o diretório do projeto:
```
cd nome-do-repositorio
```
- Instale as dependências:
```
npm install dotenv mongoose cli-table3
```
- Instalando pacotes para formatação
```
npm install --save-dev eslint eslint-config-prettier eslint-plugin-prettier prettier
```
- Inicie o servidor:
```
npm start
```
- Vai iniciar no terminal a consulta das Tabelas.
---
## Gerenciamento de Tabelas - Operações de Listar e Deletar
Nesta parte do projeto serve para fornecer ferramentas simples para listar e deletar tabelas. Abaixo estão as instruções detalhadas para realizar essas operações.
### Como usar
#### 1. Listar Tabelas:
Para listar todas as tabelas disponíveis no sistema, execute o seguinte comando:
```bash
node src/services/list.js
```
#### 2. Deletar Tabelas:
Para deletar todas as tabelas disponíveis no sistema, execute o seguinte comando:
```bash
node src/services/delete.js
```
---
## Demonstração Código Resumido
#### - `models/Aluno.js`
```javascript
const mongoose = require('mongoose');
const AlunoSchema = new mongoose.Schema({
nome: { type: String, required: true },
data_nascimento: { type: Date, required: true },
});
module.exports = mongoose.model('Aluno', AlunoSchema);
```
#### - `database/index.js`
```javascript
const mongoose = require('mongoose');
require('dotenv').config();
const connectDB = async () => {
const uri = process.env.MONGODB_URI;
if (!uri) {
console.error('Erro: MONGODB_URI não está definido no arquivo .env');
process.exit(1);
}
try {
await mongoose.connect(uri);
console.log('Conectado ao MongoDB!');
} catch (err) {
console.error('Erro ao conectar ao MongoDB:', err);
process.exit(1);
}
};
module.exports = connectDB;
```
#### - `app.js`
```javascript
const connectDB = require('./src/database');
const seedData = require('./src/seed/seedData');
const Aluno = require('./src/models/Aluno');
const start = async () => {
await connectDB();
await seedData();
await showTables(); // Chama a função para exibir as tabelas
};
start();
```
---
## Tecnologias
Tecnologias utilizadas no projeto:
- `JavaScript (JS)`
"Linguagem de Programação do Navegador".
"Scripting Dinâmico para Web".
- `Node.js`
"Ambiente de Execução JavaScript do Lado do Servidor".
"Servidor Escalável em JavaScript".
- `Documentation.md`
"Guia detalhado para uso e manutenção do projeto."
"Referência central para funcionalidades, práticas e requisitos."
- `Git`
"Sistema de controle de versões"
- `Github`
"Plataforma para hospedagem de código-fonte"
- `Visual Studio Code`
"Editor de código-fonte"
---
## Licença
- Esse projeto está sob a licença MIT.
---
Autor
   RafaelRaizer-Dev
   Whatsapp | LinkedIn | GitHub| Tableau| Portfólio