Este é um gerenciador de Inventário robusto desenvolvido em Node.js, seguindo a arquitetura MVC (Model-View-Controller). O projeto foca em organização, segurança e persistência de dados, sendo ideal para aplicações escaláveis.
- Backend: Node.js com Express.
- Banco de Dados & ORM: MySQL com Sequelize (abstração de queries e segurança contra SQL Injection).
- Template Engine: Handlebars (Renderização Server-Side para melhor SEO).
- Sessões:
session-file-storepara persistência de login no disco (os.tmpdir()). - Segurança: Cookies configurados como
httpOnly: truepara proteção contra ataques XSS. - Feedback:
express-flashpara mensagens dinâmicas de sucesso ou erro.
/controllers: Lógica de negócios e controle das requisições./db: Configurações de conexão com o banco de dados./helpers: Funções utilitárias e middlewares (ex: autenticação)./models: Definição dos esquemas das tabelas e interação com dados./public: Arquivos estáticos como CSS e imagens./routes: Definição de todas as rotas da aplicação./views: Templates dinâmicos em Handlebars.
A robust application manager developed in Node.js, following the MVC (Model-View-Controller) architectural pattern. This project prioritizes organization, security, and data persistence, making it a great foundation for scalable apps.
- Backend: Node.js with Express.
- Database & ORM: MySQL with Sequelize (query abstraction and SQL Injection protection).
- Template Engine: Handlebars (Server-Side Rendering for better SEO).
- Sessions:
session-file-storefor session persistence on disk (os.tmpdir()). - Security:
httpOnly: truecookie configuration to prevent XSS attacks. - Feedback:
express-flashfor dynamic success/error notifications.
/controllers: Business logic and request handling./db: Database connection settings./helpers: Utility functions and middlewares (e.g., auth checks)./models: Table schema definitions and data interaction./public: Static assets like CSS and images./routes: Application endpoint definitions./views: Dynamic HTML templates (Handlebars).
Desenvolvido com dedicação por Pietro Costa Cardoso.
Se este projeto te ajudou, considere dar uma ⭐ no repositório!