A financial control system developed in PHP to manage bank accounts, expense categories, companies, and financial transactions.
- User Authentication: Secure login system with credential validation
- Bank Account Management: Create, view, and update account information
- Expense Categories: Organize expenses with customizable categories
- Companies: Register and manage suppliers/companies
- Financial Transactions: Register income and expenses
- Dashboard: Intuitive interface with charts and data tables
- User Profile: Edit personal information
Projeto-Sistema-Financeiro-PHP/
├── DAO/ # Data Access Layer
│ ├── UsuarioDAO.php
│ ├── ContaDAO.php
│ ├── CategoriaDAO.php
│ ├── EmpresaDAO.php
│ └── MovimentoDAO.php
├── DER/ # Database diagrams & scripts
│ ├── DER-FinanceiroEAD.mwb
│ ├── SQL.sql
│ ├── script_select.sql
│ ├── script_update.sql
│ └── script_delete.sql
├── financeiro/ # Application pages
│ ├── login.php # Login / authentication
│ ├── index.php # Redirect / home router
│ ├── meus_dados.php # User profile
│ ├── nova_conta.php # Create account
│ ├── nova_categoria.php # Create category
│ ├── nova_empresa.php # Register company
│ ├── realizar_movimento.php # Register transaction
│ ├── consultar_.php # Data queries (list/search)
│ ├── alterar_.php # Edit records
│ ├── _head.php # HTML head
│ ├── _menu.php # Navigation menu
│ ├── _topo.php # Header layout
│ ├── _msg.php # Flash messages
│ └── assets/ # Static resources
│ ├── css/
│ ├── js/
│ ├── fonts/
│ └── img/
└── script_DB/ # Database scripts (general)
- Backend: PHP 5.6+
- Frontend: HTML5, CSS3, JavaScript
- CSS Framework: Bootstrap 3
- jQuery Library: jQuery 1.10.2
- UI Components:
- DataTables (interactive tables)
- Morris Charts (charts)
- Font Awesome (icons)
- MetisMenu (sidebar menu)
- Database: MySQL/MariaDB
- PHP 5.6 or higher
- MySQL/MariaDB 5.5 or higher
- Web server (Apache, Nginx, etc.)
-
Clone or extract the repository git clone cd Projeto-Sistema-Financeiro-PHP
-
Configure the database
- Create a new database in MySQL
- Run the provided SQL script:
mysql -u your_user -p your_database < DER/SQL.sql
-
Configure database connection
- Edit DAO files with your MySQL credentials
- Add the required connection constants
-
Start the server
php -S localhost:8000 -t financeiro
-
Access the application http://localhost:8000/login.php
- tb_usuario — Users
- tb_conta — Bank accounts
- tb_categoria — Expense categories
- tb_empresa — Companies/Suppliers
- tb_movimento — Financial transactions
After running SQL.sql you can log in with:
Email: ana@gmail.com Password: senha123 Email: carlosjunior@gmail.com Password: senha423
- Credential validation
- Basic session security
- Redirect to dashboard after login
- Create accounts (bank, branch, number, balance)
- View and edit accounts
- Real-time balance view
- Create and manage custom categories
- Register suppliers with name, phone and address
- Register incomes and expenses
- Link to account, category and company
- Add notes
- View transaction history
- Morris charts for visualization
- DataTables for lists
- Consolidated financial overview
- UsuarioDAO — Login & user management
- ContaDAO — Bank account CRUD
- CategoriaDAO — Category CRUD
- EmpresaDAO — Company CRUD
- MovimentoDAO — Transaction CRUD
- Create a new page in
financeiro/ - Implement the DAO in
DAO/ - Use the standard includes
- Add the link to
_menu.php
- ER diagram:
DER/DER - FinanceiroEAD.mwb - SQL scripts in
DER/
- Check credentials in DAO files
- Ensure MySQL is running
- Confirm DB exists
- Server must point to
financeirofolder
- Ensure cookies are enabled
- Clear browser cache
This project was developed for educational purposes in EAD.
Version: 1.0 Last update: December 2025