An open API service indexing awesome lists of open source software.

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!

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

Descrição da Imagem

[✨ **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




&nbsp&nbsp&nbspRafaelRaizer-Dev

&nbsp&nbsp&nbspWhatsapp | LinkedIn | GitHubTableauPortfólio