Skip to content

About

Digital platform connecting homeowners, contractors, laborers, architects, and material suppliers to simplify construction project management and improve transparency.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

ConstructEase 🏗️

Digital platform connecting homeowners, contractors, laborers, architects, and material suppliers to simplify construction project management and improve transparency.


✨ Features

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

🛠 Tech Stack

Frontend: React 18 + TypeScript, Vite, Tailwind CSS, Recharts, Lucide Icons, Axios

Backend: Node.js + Express, express-validator, UUID, In-memory store (→ upgrade to PostgreSQL)


📁 Structure

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

🚀 Running Locally

# 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

Open http://localhost:5174


🔌 API Endpoints

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

🔮 Production Upgrade Path

  1. Replace in-memory store with PostgreSQL + Prisma
  2. Add JWT authentication with role-based access (homeowner vs contractor vs laborer)
  3. Add real-time updates with Socket.io for live project feeds
  4. Add file uploads (blueprints, invoices) via S3
  5. Push notifications for task deadlines and material deliveries
  6. Deploy on Railway or Render with Docker

MIT License — Portfolio project by Vignesh Reddy N

A6B30897-D125-45AA-85A6-652DBA57352E

About

Digital platform connecting homeowners, contractors, laborers, architects, and material suppliers to simplify construction project management and improve transparency.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages