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.
- Host: GitHub
- URL: https://github.com/raizertechdev/tarefasstackx-itemcrud
- Owner: RaizerTechDev
- Created: 2024-11-24T00:01:04.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-27T21:32:47.000Z (about 1 year ago)
- Last Synced: 2025-01-30T15:40:55.043Z (11 months ago)
- Topics: crud-application, javascript, mongodb-atlas, nodejs
- Language: JavaScript
- Homepage: https://github.com/RaizerTechDev/tarefasStackX-itemCrud/blob/master/Documentation.md
- Size: 176 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
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

[✨ **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
   RafaelRaizer-Dev
   Whatsapp | LinkedIn | GitHub| Tableau| Portfólio