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

https://github.com/raizertechdev/tarefasstackx-itemcrud

Desenvolvimento de uma tarefa proposta pelo curso Stackx, envolvendo uma aplicação fictícia com funcionalidades CRUD (Create, Read, Update, Delete), utilizando Node.js, JavaScript e MongoDB Atlas. O projeto inclui a criação de uma tabela fictícia e a execução de queries para gerenciar dados de forma prática e estratégica.
https://github.com/raizertechdev/tarefasstackx-itemcrud

crud-application javascript mongodb-atlas nodejs

Last synced: 9 months ago
JSON representation

Desenvolvimento de uma tarefa proposta pelo curso Stackx, envolvendo uma aplicação fictícia com funcionalidades CRUD (Create, Read, Update, Delete), utilizando Node.js, JavaScript e MongoDB Atlas. O projeto inclui a criação de uma tabela fictícia e a execução de queries para gerenciar dados de forma prática e estratégica.

Awesome Lists containing this project

README

          

# Tarefa - Gerenciamento Banco de Dados

## Índice

- [Objetivo](#-objetivo)
- [Documentação](#-documentação-do-projeto)
- [Instalação](#instalação-com-bash)
- [Demonstração Código Resumido](#demonstração-código-resumido)
- [- `models/usuarioModels.js`](#--modelsusuariomodeljs)
- [- `database/index.js`](#--databaseindexjs)
- [- `app.js`](#--appjs)

## 🌟 Objetivo:
🔍 Desafio Estratégico:
Crie uma tabela fictícia 📋 e, em seguida, demonstre o poder de um CRUD com queries específicas para cada ação:

1️⃣ Criar uma nova linha na tabela.
2️⃣ Realizar uma leitura (seleção) dos dados.
3️⃣ Update (editar) os dados existentes.
4️⃣ Deletar uma linha específica.

🎯 Coloque em prática suas habilidades com essas operações essenciais! 🚀


---

## 📖 Documentação do Projeto

Descrição da Imagem

[✨ **Clique aqui para saber mais da documentação** ✨](https://github.com/RaizerTechDev/tarefasStackX-itemCrud/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-table
```

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

---

## Demonstração Código Resumido

#### - `models/usuarioModel.js`

```javascript
const mongoose = require("mongoose");

const usuarioSchema = new mongoose.Schema({
nome: { type: String, required: true },
email: { type: String, required: true, unique: true },
telefone: { type: String, required: true },
data_cadastro: { type: Date, default: Date.now },
});

const Usuario = mongoose.model("Usuario", usuarioSchema);

module.exports = Usuario;
```


#### - `database/index.js`

```javascript
const mongoose = require("mongoose");
require("dotenv").config();

// Função para conectar ao banco de dados
const connectToDatabase = async () => {
try {
const dbURI = process.env.MONGO_URI; // URL de conexão no ambiente
if (!dbURI) {
console.error("A variável de ambiente MONGO_URI não foi definida!");
process.exit(1);
}

await mongoose.connect(dbURI);
console.log("Conectado ao MongoDB com sucesso!");
} catch (err) {
console.error("Error connecting to MongoDB:", err.message);
process.exit(1); // Encerra o processo com erro
}
};

// Exporta a função para ser usada em outros arquivos
module.exports = connectToDatabase;
```


#### - `app.js`

```javascript
const connectToDatabase = require("./src/database/index");
const Usuario = require("./src/models/usuarioModel");
const Table = require("cli-table");

// Execução das operações
await createUsuario(); // Criar
await readUsuarios(); // Ler
await updateUsuario(); // Editar
await deleteUsuario(); // Excluir

console.log("\n### CRUD Operations Completed ###\n");
process.exit(0);
```

---

## 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