OBLIUP is a platform for following client companies and their invoices as a team. Different people see and change different things depending on their role.
What it does
- Manage companies and their invoices, with a dashboard of key figures.
- Three roles: administrators manage users and companies, supervisors oversee the work, collaborators handle their own files.
- User management for administrators.
How I built it
The front end is a single-page Vue application that talks to a PHP REST API. The API is split by resource (societes, factures, users, dashboard), and every endpoint goes through a small middleware with two functions, requireAuth() and requireRole(), so access rules are declared in one line at the top of each endpoint.
Security choices were deliberate:
- Passwords hashed with bcrypt at cost 12.
- PHP sessions with
HttpOnlyandSameSite=Strictcookies, so the session can’t be read by scripts or sent from other sites. - Configuration kept in one file, with the database schema shipped as a single SQL import.
Running it locally takes three steps: import the schema, set the database credentials, and start php -S. No framework and no build step on the server.