https://github.com/enthony2021/projeto_mvc_-fullstack_toughts
Projeto Monolito (arquitetura MVC) com CRUD de Pensamentos e Usuários, com as tectnologias Express, Sequelize, MVC. Totalmente Responsiva (Desktop e Mobile)
https://github.com/enthony2021/projeto_mvc_-fullstack_toughts
express handlebarsjs javascript mysql nodejs
Last synced: 4 months ago
JSON representation
Projeto Monolito (arquitetura MVC) com CRUD de Pensamentos e Usuários, com as tectnologias Express, Sequelize, MVC. Totalmente Responsiva (Desktop e Mobile)
- Host: GitHub
- URL: https://github.com/enthony2021/projeto_mvc_-fullstack_toughts
- Owner: Enthony2021
- Created: 2022-06-28T19:10:40.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-06-16T00:17:04.000Z (almost 3 years ago)
- Last Synced: 2025-01-27T11:16:17.572Z (over 1 year ago)
- Topics: express, handlebarsjs, javascript, mysql, nodejs
- Language: JavaScript
- Homepage:
- Size: 85 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Projeto_MVC_Toughts
Projeto Monolito (arquitetura MVC) construida no Curso de Node.js do Zero a Maestria com diversos Projetos pela Udemy Academy para aplicar os conhecimentos em Express, Sequelize, MVC.
Totalmente Responsiva (Desktop e Mobile).
## Funções e recursos da Aplicação:
* Cadastro de Usuário.
* CRUD de pensamentos.
* Criação de sessão ao logar.
* Utilização de critografia SHA para proteção de senha.
* filtro de pensamentos por: mais antigos, mais novos e por palavras específicas.
* Utilização de Flash Messages.
## Tecnologias usadas:
* BackEnd: *Node.js*
* FrontEnd: *Template Engine Handlebars (com HTML5 semântico)*
* Estilo: *CSS3*
* Linguagem: *JavaScript*
* DataBase: *MySQL*
* DataBase framework: *Sequelize*
## Instalação e Execução do Projeto
1. Faça o download ou cópia deste repositório.
2. Instale o mySQL (MySQL Workbench de preferência) e crie um banco de dados (Schema) de nome toughts.
3. Instale o Node em sua máquina.
4. Instalar dependências. Na pasta raiz do projeto execute no CMD o comando:
>npm install
5. Executar o servidor. Na pasta raiz, após instalar as dependências, execute o comando:
>npm start
6. Se tudo ocorrer bem, acesse a aplicação no endereço: http://localhost:3000
Obs: Não criei o arquivo .env para setar os dados sensiveis do banco de dados, para modificar verifique a estrutura de pastas e coloque manualmente no código.
Os dados para a connexão com o DB é:
>
schema: toughts
>usuário: root
>senha: '' (sem senha)
>Modifique-os conforme suas configurações MySQL no arquivo "/db/conn.js".
## Rotas da Aplicação:
### Rotas do usuário (auth):
/login -> GET
/register -> GET
/logout -> GET
/login -> POST
/Register -> POST
### Rotas de pensamento (toughts):
/toughts/ -> GET
/toughts/add -> GET
/toughts/edit:id -> GET
/toughts/dashboard -> GET
/toughts/add -> POST
/toughts/edit -> POST
/toughts/remove -> POST
## Estrutura de Diretórios:
index.js -> Arquivo principal da aplicação (servidor)
> controllers -> Arquivos controladores entre as rotas e as views. Onde estão as regras de negócio
> db/conn.js -> Arquivo de conecção com o banco de dados mysql através do sequelize
> helpers/auth.js -> Verifica se o usuário permanece conectado
> models -> Arquivos que modelam as tabelas no db
> public -> Arquivos públicos
> css -> Arquivos de estilização
> img -> Arquivos de imagens
> routes -> Contém os arquivos das rotas da aplicação
> views -> Arquivos de views (FrontEnd da aplicação)
> layouts/main.handlebars -> Arquivo responsável pelo layout comum (imutável) das páginas
## Dependências:
Critografia
bcryptjs
Flash Messages:
connect-flash
express-flash
Permanência de sessão:
cookie-parser
cookie-session
express-session
session-file-store
Servidor
express
nodemon
Template engine
express-handlebars
DataBase
mysql2
sequelize
Confira algumas imagens abaixo:
---
---
---
---
Para sugestões, críticas e melhoramentos deste projeto, por favor entrar em contato comigo através dos links no meu perfil.
Enthony Stevie