Use Case
Throughout this documentation we are going to assume that we are building an accounting application.
Requirements
- MVC application using Phalcon\Mvc\Application
- Store data in a database (MariaDB/MySQL)
- Offer a UI for users to work
- Login page
- Administration area
- Cache management
- Permissions
- Products CRUD
- Users CRUD
- Accounting department area
- Invoices
- Customers
- Payments
- Customer portal area
- Invoices (view)
- Payment
- Reports
Groups - User Roles
Group | Description |
Guests | Users that are not logged in, visitors to the site |
Customers | Users that have purchased products |
Accounting | Users of the accounting department |
Managers | Accounting department managers |
Administrators | Full access to the whole application |
Endpoints
Endpoint | Description |
/login | Path /session/login . Presents the login screen |
/logout | Path /session/logout . Logs user out, redirects to /login |
/portal/invoices/list | List invoices for the currently logged in customer |
/portal/invoices/view/{0-9} | View invoice for the currently logged in customer |
/portal/invoices/pay/{0-9} | Pay invoice (payment gateway) |
/portal/reports/list | List available reports for the logged in customer |
/portal/reports/view/{0-9} | View report for this customer |
/accounting/invoices/add | Add new invoice |
/accounting/invoices/edit/{0-9} | Edit an invoice |
/accounting/invoices/view/{0-9} | View an invoice |
/accounting/invoices/list | List all invoices |
/accounting/invoices/void/{0-9} | Void an invoice |
/admin/cache/view | View all cache items |
/admin/cache/delete/{0-9} | Delete a cache item |
/admin/cache/void | Void the whole cache |
/admin/permissions/list | Show the current permissions |
/admin/permissions/add | Add a new permission |
/admin/permissions/edit/{0-9} | Edit a permission |
/admin/products/list | List all products |
/admin/products/add | Add a product |
/admin/products/edit/{0-9} | Edit a product |
/admin/products/delete/{0-9} | Delete a product |
/admin/products/view/{0-9} | View a product |
/admin/users/list | List all users |
/admin/users/add | Add a user |
/admin/users/edit/{0-9} | Edit a user |
/admin/users/delete/{0-9} | Delete a user |
/admin/users/view/{0-9} | View a user |