MyCasaPro
MyCasaPro is a private home-repair operations system for homeowners and contractors. A Next.js 16 and React 19 interface sits over a Go HTTP API and PostgreSQL. It covers property records, repair requests, private attachments, estimates, appointments, messages, invoices, and payment history.
Properties, requests, and attachments
Shared files and estimate submission
The link can be revoked. The API controls access; only the token hash is stored in the database.
On this page
Use
- Homeowners create private property records and repair requests with photos or PDFs.
- Contractors can receive requests, submit line-item estimates, schedule work, message the homeowner, and issue invoices.
- A contractor without an account can review one shared repair and submit an estimate through an expiring invitation.
System
- HTTP-only sessions and role-scoped authorization separate homeowner, contractor, and guest access.
- Private attachments are served through authorized API routes rather than public file URLs.
- Guest links use 256-bit random tokens; only SHA-256 hashes are stored, and every link expires or can be revoked.
- Email invitations are committed to a PostgreSQL outbox before SMTP delivery, with locking, bounded retries, and visible delivery state.
- The same codebase supports a localhost-only private appliance and a documented single-server production baseline.
Galidima integration
MyCasaPro is not directly connected to Galidima. The intended boundary is a revocable, read-only projection of projects, contractors, and estimates; the application remains the source of record.
Engineering frame
- Constraint
- A repair workflow joins private property records, attachments, and contractors who may not have an account. Access has to narrow without breaking estimates, appointments, and approvals.
- Boundary
- The Go API owns authorization, PostgreSQL persistence, and private attachments. Contractor links are revocable, expire, and retain only a token hash in the database.
- Verification
- Invitation creation and the email outbox are committed together. A worker with leases, bounded retries, and delivery state prevents an SMTP outage from losing contractor access.
Programming Notes
Current State
In the lab. The homeowner and contractor workflow, private attachments, no-account estimates, local appliance, and single-server deployment baseline are implemented. A broader launch still needs external monitoring, rehearsed off-server recovery, abuse controls, scalable private storage, and live payment-provider integration.