A robust, lightweight PHP application designed for small businesses and freelancers to generate and manage invoices efficiently. Built on a custom MVC framework, this application demonstrates core web development concepts including routing, authentication, and database interaction without relying on heavy frameworks.
- Secure Authentication: User registration and login system handling secure sessions.
- Invoice Management:
- Create detailed invoices with multiple line items.
- Automatic tax and total calculations.
- View and manage invoice history.
- PDF Generation: Instant PDF export functionalities using
mpdf, allowing users to download or print invoices. - Custom MVC Architecture: built from scratch to provide a deep understanding of core PHP mechanics.
- Responsive UI: Clean and user-friendly interface.
- Backend: PHP 8.0+
- Database: MySQL
- Frontend: HTML5, CSS3, JavaScript
- Dependencies:
mpdf/mpdf(PDF generation),vlucas/phpdotenv(Environment management)
- PHP 8.0+
- MySQL
- Composer
-
Install Dependencies
composer install
-
Database Setup
- Create a database named
invoice_app. - Import the schema:
mysql -u root -p invoice_app < database/schema.sql - Check
.envand update DB credentials if necessary.
- Create a database named
Run the following command in the project root:
php -S localhost:8000 -t publicVisit: http://localhost:8000
- Ensure the project is in
xampp/htdocs/invoice-app. - Visit: http://localhost/invoice-app/public
- Note: Ensure
mod_rewriteis enabled.