Digital platform connecting homeowners, contractors, laborers, architects, and material suppliers to simplify construction project management and improve transparency.
| Module | Description |
|---|---|
| Dashboard | Metrics, budget trend chart, active projects overview, live activity feed |
| Projects | Create/view/delete projects, assign contractor & architect, track budget & progress |
| Tasks | Grouped task board with phase tracking, priority, assignee, and one-click status toggle |
| Materials | Order materials from suppliers, track delivery status (Pending → Ordered → In Transit → Delivered) |
| Stakeholders | Directory of all 5 roles — homeowners, contractors, architects, laborers, suppliers |
Frontend: React 18 + TypeScript, Vite, Tailwind CSS, Recharts, Lucide Icons, Axios
Backend: Node.js + Express, express-validator, UUID, In-memory store (→ upgrade to PostgreSQL)
constructease/
├── backend/
│ └── src/
│ ├── index.js # Express server (port 3002)
│ ├── db/store.js # Seeded in-memory data
│ ├── routes/ # projects, tasks, materials, updates, users, metrics
│ └── middleware/ # logger, error handler
└── frontend/
└── src/
├── App.tsx
├── types/index.ts # All TS types + color maps
├── lib/api.ts # Axios client
├── components/
│ ├── ui/ # Card, Button, Badge, Modal, Form components
│ └── layout/ # Sidebar
└── pages/
├── Dashboard.tsx
├── Projects.tsx
├── Tasks.tsx
├── Materials.tsx
└── Stakeholders.tsx
# Install
cd backend && npm install
cd ../frontend && npm install
# Terminal 1 — Backend (port 3002)
cd backend && npm run dev
# Terminal 2 — Frontend (port 5174)
cd frontend && npm run dev| Method | Endpoint | Description |
|---|---|---|
| GET | /health |
Health check |
| GET | /api/metrics |
Dashboard summary |
| GET/POST | /api/projects |
List / create projects |
| GET/PATCH/DELETE | /api/projects/:id |
Project detail / update / delete |
| GET/POST | /api/tasks |
List / create tasks |
| PATCH/DELETE | /api/tasks/:id |
Update / delete task |
| GET/POST | /api/materials |
List / order materials |
| PATCH | /api/materials/:id |
Update material status |
| GET/POST | /api/updates |
Activity feed |
| GET/POST | /api/users |
Stakeholder directory |
- Replace in-memory store with PostgreSQL + Prisma
- Add JWT authentication with role-based access (homeowner vs contractor vs laborer)
- Add real-time updates with Socket.io for live project feeds
- Add file uploads (blueprints, invoices) via S3
- Push notifications for task deadlines and material deliveries
- Deploy on Railway or Render with Docker
MIT License — Portfolio project by Vignesh Reddy N