All projects
Web2025Open source

PropCare

A role-based property-maintenance system with a clean ticket lifecycle and full audit trails.

Role: Full-Stack Developer
Conceptual system illustration

PropCare is a full-stack property-maintenance platform built around three roles — tenants raise maintenance tickets, managers triage and assign them, and technicians work and close them — with role-gated status transitions, a per-ticket activity audit trail and in-app notifications throughout. It's a modular Express API (auth, users, tickets, activity, notifications) over PostgreSQL with Prisma, a React + Vite SPA, JWT role-based access, and Multer-backed photo uploads for maintenance evidence.

Highlights

  • Enforced a strict ticket workflow — OPEN → ASSIGNED → IN_PROGRESS → DONE — with role-based permissions for tenants, managers, and technicians.
  • Wrote 19 integration tests with Jest and Supertest covering authentication, ticket workflows, and permission boundaries.
  • Built a per-ticket activity audit trail and an in-app notification system, so requests never get lost in texts.
  • Structured the backend as focused modules (auth, users, tickets, activity, notifications) on a type-safe Prisma schema with migrations and a demo seeder.
  • Added JWT role-based access control, Zod request validation, structured API errors, and Multer photo uploads for maintenance evidence.

Tech

ReactViteExpressNode.jsPostgreSQLPrismaJWTZodJestSupertestMulterDocker