page:blueprints:bookkeeping practices:project tracker:laravel
Bookkeeping Practices: Project Tracker Using Laravel
A project tracker blueprint for bookkeeping practices built with Laravel on Ample.
Domain Schema
- client_entities (legal_name, entity_type, accounting_software, period_cadence): clients and their bookkeeping cadence;
- engagements (client_entity_id, period_start, period_end, close_status): monthly or quarterly close engagements;
- document_requests (engagement_id, category, due_at, status, uploaded_object_key): receipts, statements and payroll summaries requested;
- close_checklists (engagement_id, item, done_at): close tasks per period;
- state_transitions (record_type, from_state, to_state): the allowed state machine.
Technical Basis
Verified on Laravel: a workspace-scoped table, an explicit state machine (draft to review to published) that rejects invalid transitions, and a cross-workspace read that returns nothing (transitions=true isolation=true).
Resource Requirements
- Compute: Isolated x86_64 Firecracker microVMs that auto-pause when idle.
- Postgres: Managed PostgreSQL 16 runs in its own microVM.
- S3-compatible object storage: Buckets are S3-compatible with issued credentials.
Prerequisites
- A Laravel project (composer install --no-dev from composer.lock).
- A PostgreSQL driver reading DATABASE_URL.
- Bucket credentials from
ample bucket createpassed as encrypted S3_* environment variables. - Review which bookkeeping practices data classes may be handled.
Workflow Steps
- Model the bookkeeping practices domain: Create the tables client_entities, engagements, document_requests, close_checklists, state_transitions.
- Workflow step 1: Model engagements and workstreams with explicit status transitions.
- Workflow step 2: Scope every query by client entity.
- Workflow step 3: Attach deliverables as private objects linked to workstreams.
- Workflow step 4: Deploy and verify transitions and cross-client isolation.
- Deploy: Run the synchronous deploy once.
- Verify: Run the pattern self-test(s) and your own acceptance checks.
Examples
- Laravel Pattern Fixture: Verified relational records basis for this blueprint. (Source: tests/deploy-canaries/laravel-patterns)
Success Checks
- App responds on its public URL.
- Self-test from the example.
Limitations
- No health, financial, privacy or other compliance claim is made.
- Public content only until actual data-handling requirements have been reviewed.
Cost Estimate
- Currency: USD
- Monthly Amount: 10.0
- Components:
- App server: size s-1vcpu-1gb, quantity 1.0, monthly amount 5.0
- Managed PostgreSQL database: size s-1vcpu-1gb, quantity 1.0, monthly amount 5.0