← Back to projects

Laravel + Inertia React business application

Eleve Architects Accounting

An internal accounting and operations platform built with Laravel 13, Inertia, React, and MySQL, covering client profiles, projects, billing, expenses, role-based access, and file-backed finance workflows.

  • Laravel 13
  • Inertia.js
  • React 19
  • TypeScript
  • MySQL
  • Tailwind CSS 4
  • Fortify
  • Cloudflare R2
Dashboard screenshot of the Eleve Architects Accounting application showing project, expense, and billing overview panels.

Project

Overview

Eleve Architects Accounting is a Laravel monolith with an Inertia React frontend built for internal client-profile, project, billing, expense, and administrator workflows.

The Challenge

The product needed a secure internal business application that could handle finance-facing CRUD modules, authenticated admin workflows, public invoice payment steps, and file-backed operational flows without splitting the system into disconnected services.

My Role

Senior Full-Stack Developer

Architecture

Laravel 13 monolith for routes, validation, persistence, and policies
Inertia + React 19 app shell and module UI
MySQL for local application data and SQLite in-memory test coverage
Mail, PDF, file storage, and public/private finance workflows

Technical Implementation

Worked across the full stack: shaping authenticated flows, building role-aware CRUD modules, wiring client profiles, projects, expenses, billing, and administrator screens, tightening storage behavior for uploaded assets and payment proofs, and keeping the application backed by tests and production-ready configuration patterns.

Important Technical Decisions

  • Use a Laravel monolith with Inertia rather than split the product into separate API and frontend applications.
  • Disable self-service registration and make /login the application entry point for a controlled internal tool.
  • Drive sidebar rendering and route access from the same Laravel navigation registry so authorization stayed centralized.
  • Use MySQL for local development while keeping automated tests fast with in-memory SQLite.

Integrations

  • Fortify authentication, email verification, two-factor authentication, and passkeys
  • Role-based page access enforced through Laravel middleware and navigation config
  • Public and private file storage flows, including Cloudflare R2-ready disk configuration
  • Invoice PDF export, billing email workflows, and queue-listener-ready local operations

Key Challenges

  • Centralizing authorization so sidebar visibility and actual route access stayed consistent for each role.
  • Handling public invoice payment proofs and internal finance review flows without exposing the rest of the application.
  • Supporting local public storage and Cloudflare R2-ready deployment paths for logos and finance-related files.
  • Keeping a growing Laravel and React codebase stable through feature tests across auth, roles, projects, expenses, billing, and settings modules.

Solution

Delivered the application as a Laravel 13 monolith with Inertia and React, using Laravel for routing, validation, persistence, and access control while React handled the authenticated app shell, module UI, and day-to-day operational screens.

Result

Adds a stronger example of senior Laravel product work to the portfolio: a business application that combines authentication, authorization, finance workflows, file handling, testing discipline, and deployment-aware infrastructure decisions in one coherent system.

Technology

  • Laravel 13
  • Inertia.js
  • React 19
  • TypeScript
  • MySQL
  • Tailwind CSS 4
  • Fortify
  • Cloudflare R2

Live Project

This was delivered as a private internal application, so there is no public live link.

Open to Opportunities

Have a project in mind?

Talk with Norman about full-stack product development, system modernization, API-backed workflows, and long-term production support.