Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dhdc-21/express-magic-setup
Middleware de setup automático + template ejs estilo o React
https://github.com/dhdc-21/express-magic-setup
cookie-parser ejs es6 esmodules express middleware sequelize template-project
Last synced: about 1 month ago
JSON representation
Middleware de setup automático + template ejs estilo o React
- Host: GitHub
- URL: https://github.com/dhdc-21/express-magic-setup
- Owner: DHDC-21
- Created: 2024-08-11T21:18:44.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-08-12T19:30:40.000Z (5 months ago)
- Last Synced: 2024-10-19T03:51:43.185Z (2 months ago)
- Topics: cookie-parser, ejs, es6, esmodules, express, middleware, sequelize, template-project
- Language: JavaScript
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MIDDLEWARE DE SETUP AUTOMÁTICO + TEMPLATE EJS ESTILO O REACT
## Objetivos:
- Imitar o funcionamento do React usando o EJS
- Criar um setup de configuração automático semelhante ao do wordpress e gitea
- Evitar código repetitivo
- Melhorar a estruturação, arquitetura e organização do projeto## Tecnologias utilizadas:
Essenciais: `NodeJS`, `Express`, `EJS`, `Sequelize`, `dotenv`, `cookie-parser`.
Não-Essenciais: `Bootstrap`, `Bootstrap-icons`, `ip`, `morgan`, `noodemon`
## Como utilizar o projeto?
### Instalação do projeto:
Após instalar o NodeJS, utilize os seguintes comando no terminal:
```bash
git clone https://github.com/DHDC-21/express-magic-setup
``````bash
cd express-magic-setup
``````bash
npm install
``````bash
npm start
```### Como funciona:
Minha ideia era um seguinte, fazer com que de forma gráfica, ou seja, através do navegador o usuário pudesse configurar as variáveis de ambiente para acessar o banco de dados e criar um usuário administrador para sistemas de login.
Dessa forma foi desenvolvido um middleware para realizar essa configuração inicial no sistema fazendo as seguintes análises:
1. Verifica se o arquivo .env existe. Caso não exista acione a rota `/setup/database` para configurar as variáveis de ambiente do projeto, caso contrário então prossiga.
2. Testa a conexão com o banco de dados. Caso não der certo então acione a rota `/setup/database`, caso contrário então prossiga
3. Verifica se a tabela `Usuario` existe no sistema. Caso não exista, então crie a tabela, caso contrário então prossiga.
4. Busque por um usuário administrador no sistema. Caso não exista, acione a rota `/setup/admin` para criar um novo usuário administrador, caso exista então saia do middleware.
Antes disso, eu estava testando formas de trabalhar com o EJS que fosse semelhante ao React, e acabai juntando os dois projetos em um, veja:
```html
<%-title%>
<%- include(page) %>
```
Com isso é possível padronizar a estrutura base do html e suas importações comuns de **css** e **js**, além disso caso venha a utilizar o `i18n` fica mais simples dar manutenção na estrutura base do html alterando apenas a tag ``.