https://github.com/raizertechdev/tarefastackx-organizacao-bd
A tarefa consiste no desenvolvimento de um banco de dados otimizado para consultas em tabelas, projetado para um novo Airbnb. Serão utilizadas tecnologias modernas, como JavaScript, Node.js e MongoDB Atlas!
https://github.com/raizertechdev/tarefastackx-organizacao-bd
javascript mongodb-atlas node
Last synced: about 1 month ago
JSON representation
A tarefa consiste no desenvolvimento de um banco de dados otimizado para consultas em tabelas, projetado para um novo Airbnb. Serão utilizadas tecnologias modernas, como JavaScript, Node.js e MongoDB Atlas!
- Host: GitHub
- URL: https://github.com/raizertechdev/tarefastackx-organizacao-bd
- Owner: RaizerTechDev
- Created: 2024-11-22T21:33:28.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-27T21:28:01.000Z (over 1 year ago)
- Last Synced: 2025-03-25T17:49:30.628Z (about 1 year ago)
- Topics: javascript, mongodb-atlas, node
- Language: JavaScript
- Homepage: https://github.com/RaizerTechDev/tarefaStackX-organizacao-bd/blob/master/Documentation.md
- Size: 174 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Tarefa - Organização Banco de Dados - Airbnb
## Í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/User.js`](#--modelsuserjs)
- [- `database.js`](#--databasejs)
- [- `index.js`](#--indexjs)
## 🌟 Objetivo:
### 📍 Você foi convocado para um time que desenvolverá o novo Airbnb
Descreva como você organizaria um banco de dados que precisa , no inicio, de:
⏭️Usuários;
⏭️Lugares para se hospedar - cadastrados pelos usuários;
⏭️ Hospedagens (um período de tempo no qual usuário Y vai ficar no lugar X) - realizadas também por usuários;
⏭️ Avaliações feitas pelos usuários nas hospedagens.
📍 A descrição deve conter:
⏭️ Nomes de tabelas que você faria;
⏭️ Colunas que você acha mais importantes nas tabelas;
⏭️ Relacionamentos delas e como ficaria nas colunas das tabelas;
⏭️ Uma explicação mínima de o que te levou por essas decisões.
---
## 📖 Documentação do Projeto

[✨ **Clique aqui para saber mais da documentação** ✨](https://github.com/RaizerTechDev/tarefaStackX-organizacao-bd/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
```
- 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/User.js`
```javascript
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
created_at: { type: Date, default: Date.now },
});
module.exports = mongoose.model('User', userSchema);
```
#### - `database.js`
```javascript
require('dotenv').config();
const mongoose = require('mongoose');
const connectDB = async () => {
const uri = process.env.MONGODB_URI;
try {
await mongoose.connect(uri, {
useNewUrlParser: true,
useUnifiedTopology: true,
});
console.log('Conectado ao MongoDB!');
} catch (err) {
console.error('Erro ao conectar:', err);
process.exit(1);
}
};
module.exports = connectDB;
```
#### - `index.js`
```javascript
const connectDB = require('./src/database');
const seedData = require('./src/seed');
const User = require('./src/models/User');
const start = async () => {
await connectDB();
const newUser = await seedData();
console.log('Dados iniciais criados:', newUser);
};
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