Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kazbonfim/sequelmodel
Um sistema simples, pra cadastrar, e gerenciar dados de usuários, usando apenas ferramentas básicas, e recursos simples de nodejs
https://github.com/kazbonfim/sequelmodel
dashboard express handlebars javascript mysql node nodejs sequelize sequelize-orm
Last synced: 4 days ago
JSON representation
Um sistema simples, pra cadastrar, e gerenciar dados de usuários, usando apenas ferramentas básicas, e recursos simples de nodejs
- Host: GitHub
- URL: https://github.com/kazbonfim/sequelmodel
- Owner: Kazbonfim
- License: mit
- Created: 2024-12-28T17:30:02.000Z (18 days ago)
- Default Branch: main-bs2
- Last Pushed: 2025-01-11T00:22:12.000Z (5 days ago)
- Last Synced: 2025-01-11T01:23:54.193Z (5 days ago)
- Topics: dashboard, express, handlebars, javascript, mysql, node, nodejs, sequelize, sequelize-orm
- Language: Handlebars
- Homepage:
- Size: 390 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sequelModel/ProfileHub
## Aviso!
Esse projeto está temporariamente paralisado; decidi mover todo o projeto para React, por motivos de otimização, e facilidade no desenvolvimento. Em breve haverá um repositório, com o esqueleto funciona, e que poderá ser adaptado para qualquer negócio, seguindo algumas convençoes; considerem como finalizado até certa parte - as divisões de responsabilidade funcionam, mas ainda falta desenvolver a parte de tarefas, por exemplo, por isso, se quiser baixar e melhorar, seria o ideal.[Ir para Passo 1](#passo-1-1-instalar-o-mysql)
[Ir para Passo 2](#1-2-clone-este-repositorio)
[Ir para Fotos da aplicação](#fotos-da-aplicacao-rodando-caso-tenha-duvidas)
**sequelModel** é um sistema simples desenvolvido para cadastrar e gerenciar dados de usuários. O projeto foi construído utilizando ferramentas básicas e recursos simples do **Node.js** para proporcionar uma introdução prática ao desenvolvimento de back-end.
A ideia inicial era criar uma hub pra administrar personagens de RPG; de certa forma, todos os modelos ainda podem serem adaptados pra isso, mas no momento estou focando em criar uma aplicação administrativa - por motivos óbvios, eu acho. Até o momento, é meu projeto mais completo, foi onde usei todos os recursos que vinha aprendendo até hoje.
## Funcionalidades
- Cadastro de usuários
- Edição e exclusão de registros de usuários
- Armazenamento e gerenciamento de dados utilizando um banco de dados simples (SQLite ou MySQL, conforme configuração)
- API RESTful para interagir com os dados## Tecnologias Utilizadas
- **Node.js**: Ambiente de execução JavaScript no lado do servidor.
- **Express**: Framework para construir a API e gerenciar as rotas.
- **Sequelize**: ORM (Object-Relational Mapping) para facilitar a interação com o banco de dados.
- **SQLite/MySQL**: Banco de dados para armazenamento dos dados dos usuários (totalmente configurável).
- **Bootstrap 5**: Framework CSS poderosa, com excelentes recursos visuais, de fácil aprendizado e manutenção.## Em breve teremos
- **React**: Isso vai deixar tudo mais fluído, abandonando alguns recursos 'estáticos' que utilizei, como handlebars.
- **Electron**: Embora seja um projeto web, a ideia de ter um cliente/hub para personagens de RPG ainda está de pé, e nada melhor que um app desktop pra não ficar sempre dependente do navegador, e conexões á internet.## Instalação
Resumindo, recomendo que sigam instalando primeiro o banco de dados que utilizei na construção inicial de tudo, mysql. Ele é bem simples de se utilizar, e conta com ferramentas visuais para manipular os dados; siga com calma, instalando o mysql primeiro, assim como o workbench, e em seguida prossiga clonando o projeto, e rodando localmente. Quaisquer problemas, ou sugestões, só entrar em contato através do e-mail: [email protected].
# Passo 1.1 Instalar o MySQL
No Windows:
Baixe o instalador do MySQL em MySQL Community Downloads.
Execute o instalador e siga as instruções para completar a instalação.
Durante a instalação, escolha "Server only" e configure a senha do usuário root.
# No macOS:
Instale o Homebrew, se ainda não tiver:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Instale o MySQL usando Homebrew:
brew install mysql
Inicie o serviço MySQL:
brew services start mysql
# No Linux (Ubuntu):
Atualize o sistema e instale o MySQL:
sudo apt update
sudo apt install mysql-server
Inicie o serviço MySQL:
sudo service mysql start
Configure a senha do usuário root:
sudo mysql_secure_installation
Passo 2: Configurar o MySQL
Acesse o MySQL como usuário root:
mysql -u root -p
Crie um banco de dados para sua aplicação:
CREATE DATABASE nome_do_banco_de_dados;
Crie um usuário e conceda permissões:
CREATE USER 'nome_do_usuario'@'localhost' IDENTIFIED BY 'senha_do_usuario';
GRANT ALL PRIVILEGES ON nome_do_banco_de_dados.* TO 'nome_do_usuario'@'localhost';
FLUSH PRIVILEGES;
Saia do MySQL:
EXIT;
## Opa! Pera aí 🤚
Agora que está com o banco de dados instalado, você precisa criar um arquivo chamando '.env', sim somente isso, sem nomes; ele deve ficar na RAÍZ do projeto, e nele você precisa carregar os dados do banco que criou anteriormente - não se preocupe, a ORM (Sequelize) vai tratar de configurar os demais dados de forma automática, assim que você instanciar a aplicação - explicado no final também.# 1.2 Clone este repositório:
```bash
git clone https://github.com/Kazbonfim/sequelModel.git
```Clone este repositório:
```bash
git clone https://github.com/Kazbonfim/sequelModel.git
```Acesse o diretório do projeto:
```bash
cd sequelModel
```Instale as dependências:
```bash
npm install
```Configure o banco de dados no arquivo .env (IMPORTANTE!):
## Sem isso, a aplicação pode até iniciar, mas não terá um norte de onde conseguir os dados pra exibição, faça tudo com calma que deve funcionar.```bash
makefile
Copiar código
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=password
DB_NAME=sequel_model
Inicie o servidor:
``````bash
npm start
```Acesse a aplicação em http://localhost:3000 (ou a porta configurada).
# Fotos da aplicação rodando, caso tenha dúvidas:
![image](https://github.com/user-attachments/assets/f11b790d-1aa4-4d4d-b2d7-4db1a31c1d37)
![image](https://github.com/user-attachments/assets/c9b38f5d-7827-4f6b-a735-59283ff8979d)
![image](https://github.com/user-attachments/assets/0b6f5927-432e-48a6-825a-145d6b34491e)
![image](https://github.com/user-attachments/assets/56327b00-b920-458a-8f90-cc7c57867915)