Skip to content

ymuft/erp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRM/ERP Sistema — Etapa 1: Autenticação & Base

Sistema CRM/ERP desenvolvido em PHP 8+ + MySQL, com estrutura modular e escalável.


🚀 Instalação Rápida

1. Pré-requisitos

  • PHP 8.1+
  • MySQL 8.0+ ou MariaDB 10.6+
  • Apache 2.4+ com mod_rewrite habilitado (ou Nginx)

2. Clone / copie o projeto

/var/www/html/crm-erp/   (ou dentro do seu htdocs)

3. Configure o banco de dados

# Crie o banco e as tabelas
mysql -u root -p < database/schema.sql

4. Gere o hash da senha admin (importante!)

php database/seed.php

Copie o hash gerado e atualize a coluna senha do usuário admin no banco:

UPDATE users SET senha = '$2y$12$HASH_AQUI' WHERE email = 'admin@sistema.com';

5. Ajuste as configurações

config/config.php — configurações da aplicação:

define('APP_URL', 'http://localhost/crm-erp');  // URL do projeto
define('APP_ENV', 'development');               // ou 'production'

config/database.php — credenciais do banco:

define('DB_HOST', 'localhost');
define('DB_NAME', 'crm_erp');
define('DB_USER', 'root');
define('DB_PASS', 'sua_senha');

6. Configure o Apache

# Habilite mod_rewrite
a2enmod rewrite
service apache2 restart

O .htaccess já está configurado para roteamento via index.php.


🔐 Acesso Padrão

Campo Valor
URL http://localhost/crm-erp
E-mail admin@sistema.com
Senha Admin@123

Importante: Altere as credenciais em produção!


📁 Estrutura do Projeto

crm-erp/
├── index.php                  # Ponto de entrada único
├── .htaccess                  # Roteamento Apache
│
├── config/
│   ├── config.php             # Configurações centrais
│   ├── database.php           # Conexão PDO (Singleton)
│   └── session.php            # Sessão, flash, helpers
│
├── controllers/
│   └── AuthController.php     # Login, logout, validações
│
├── models/
│   └── User.php               # Model de usuário (PDO)
│
├── views/
│   ├── auth/
│   │   └── login.php          # Tela de login
│   ├── dashboard/
│   │   └── index.php          # Dashboard (protegido)
│   ├── layouts/
│   │   ├── sidebar.php        # Menu lateral
│   │   └── flash.php          # Mensagens flash
│   └── errors/
│       └── 404.php            # Página 404
│
├── routes/
│   └── routes.php             # Bootstrap e roteador
│
├── assets/
│   ├── css/style.css          # Estilos (DM Sans, índigo)
│   └── js/app.js              # Scripts frontend
│
├── database/
│   ├── schema.sql             # SQL completo (tabelas + seed)
│   └── seed.php               # Gerador de hash bcrypt
│
└── uploads/                   # Uploads futuros

🔒 Segurança Implementada

Recurso Status
PDO Prepared Statements
password_hash() bcrypt cost=12
Proteção CSRF em formulários
Session Regeneration (fixation)
Session Regeneration periódica (30min)
Cookie HttpOnly + SameSite=Lax
Sanitização de inputs
Headers de segurança (via .htaccess)
Auto-rehash de senha
Mensagem de erro genérica (login)
Bloqueio de arquivos sensíveis (.sql, .env)

🏗️ Roadmap

Etapa Módulo Status
1 Base + Autenticação Concluída
2 Módulo de Clientes 🔜 Próxima
3 Módulo de Pedidos 🔜
4 Financeiro 🔜
5 Relatórios & Charts 🔜
6 API REST 🔜

⚙️ Expansão Futura

Para adicionar novos módulos na Etapa 2, basta:

  1. Criar o model em models/ClienteModel.php
  2. Criar o controller em controllers/ClienteController.php
  3. Criar as views em views/clientes/
  4. Registrar as rotas em routes/routes.php
  5. Adicionar item no menu views/layouts/sidebar.php

Desenvolvido como base escalável para CRM/ERP completo.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors