Back to Projects
October 2020 - February 2021 Full Stack

Construction Project Management Platform

Full-stack engineer building a serverless SaaS platform for construction project management with Gantt scheduling, task tracking, and team collaboration.

A construction technology company building project management and collaboration tools for the construction industry

Project Overview

Built an enterprise-grade construction project management platform enabling project managers and contractors to plan timelines, manage tasks, track deliverables, and collaborate with team members. The platform uses a modern serverless architecture for scalability and cost efficiency.

The Product

MDC (Material Design Construction) provides comprehensive tools for managing construction projects:

  • Project Planning: Create and manage projects with detailed specifications
  • Gantt Scheduling: Visual timeline management with drag-and-drop scheduling
  • Task Management: Hierarchical task and subtask tracking
  • Delivery Tracking: Monitor prefab and vendor deliveries
  • Team Collaboration: Invite members and manage project teams
  • Document Management: Store and organize project documentation

Technical Architecture

Frontend (React)

Modern React application with enterprise components:

  • Framework: React 16.13 with Create React App
  • State Management: Redux with Redux Thunk and Immutable.js
  • UI Library: Material-UI 4.11 for consistent design
  • Scheduling: Syncfusion EJ2 React Schedule for Gantt charts
  • Forms: Formik with Yup validation
  • Persistence: Redux Persist for local state caching
  • Analytics: Mixpanel for user behavior tracking
  • Internationalization: i18next for multi-language support

Backend (AWS Serverless)

Fully serverless architecture using AWS SAM:

  • Compute: AWS Lambda (Node.js 12.x)
  • API: AWS API Gateway with REST endpoints
  • Database: PostgreSQL on RDS
  • Authentication: AWS Cognito user pools
  • Storage: AWS S3 for files and images
  • Email: AWS SES for notifications
  • Infrastructure: SAM templates for deployment

API Services

Auth Service (11 handlers)

User authentication and invitation management:

  • SignUp, LogIn, LogOut
  • ForgotPwd, ResetPwd, RefreshToken
  • InviteUser, InviteUsers, ReinviteUser, DeleteUser

User Service (6 handlers)

User profile and management:

  • CreateUserProfile, GetUserInfo
  • GetUsers, UploadProfileImage, DownloadProfileImage

Project Service (40+ handlers)

Comprehensive project management:

Project Operations

  • CreateProject, UpdateProject, GetProject, GetProjects

Task Management

  • CreateTask, UpdateTask, DeleteTask, GetTasks
  • GetTaskDetails, UpdateTaskStatus

Subtask Management

  • CreateSubtask, UpdateSubtask, DeleteSubtask
  • GetSubtasks, UpdateSubTaskStatus

Delivery Tracking

  • Prefab: Create, Update, Delete, Get, UpdateStatus
  • Vendor: Create, Update, Delete, Get, UpdateStatus

Documents & Files

  • CreateDocument, UpdateDocument, DeleteDocument, GetDocuments
  • UploadProjectImage, DownloadProjectImage
  • UploadTradeSchedule, DownloadTradeSchedule

Team & Metrics

  • CreateProjectTeam, GetProjectTeams, DeleteProjectTeam
  • GetProjectMetrics, SendEmailNotification

Key Contributions

React Frontend Development

Built the React frontend with enterprise scheduling components:

  • Developed 27+ routes for comprehensive project management interface
  • Integrated Syncfusion EJ2 for enterprise-grade Gantt chart scheduling
  • Implemented Redux with Immutable.js for complex project state management
  • Built responsive UI with Material-UI 4.11
  • Set up i18next for multi-language support

Serverless Backend Architecture

Developed fully serverless AWS backend with 57+ Lambda handlers:

  • Built 3 microservices: auth (11 handlers), user (6 handlers), project (40+ handlers)
  • Implemented AWS SAM templates for infrastructure as code
  • Created 17 repository classes for database operations
  • Set up AWS Cognito user pools for authentication
  • Integrated AWS SES for email notifications

Task & Deliverable Management

Built comprehensive project hierarchy system:

  • Implemented CRUD operations for projects, tasks, and subtasks
  • Created status tracking at all levels with progress indicators
  • Developed prefab and vendor delivery tracking systems
  • Built trade schedule upload and download functionality

File Management System

Implemented secure document handling with S3:

  • Built pre-signed URL generation for secure direct uploads
  • Created project image and schedule management
  • Implemented document versioning and organization
  • Set up both public and private S3 bucket configurations

CI/CD Pipeline

Set up multi-environment deployment automation:

  • Configured Bitbucket Pipelines for 4 environments (Dev, Staging, QA, Production)
  • Built complete pipeline: Install → Lint → Test → Build → Deploy
  • Set up S3 static hosting with CloudFront CDN
  • Implemented CloudFront cache invalidation on deploy

Key Features

Gantt Chart Scheduling

Enterprise scheduling with Syncfusion:

  • Visual timeline representation
  • Drag-and-drop task scheduling
  • Trade schedule uploads and downloads
  • Project milestone tracking
  • Date validation and conflict detection

Task Hierarchy

Comprehensive task management:

  • Projects contain multiple tasks
  • Tasks can have subtasks
  • Status tracking at all levels
  • Assignment and ownership
  • Progress indicators

Delivery Management

Track materials and prefab components:

  • Prefab Deliveries: Factory-built component tracking
  • Vendor Deliveries: Material and supply tracking
  • Status updates and timeline management
  • Integration with project schedules

Team Collaboration

Multi-user project access:

  • User invitations via email
  • Team member management
  • Role-based access control
  • Activity notifications

File Management

Secure document handling:

  • S3-backed file storage
  • Pre-signed URLs for secure uploads
  • Project images and schedules
  • Document versioning

Onboarding Flow

Guided setup for new users:

  1. Welcome screens
  2. User profile creation
  3. Initial project setup
  4. Team member invitations
  5. Schedule uploads
  6. Completion tracking

Infrastructure

Deployment Pipeline

Multi-environment CI/CD with Bitbucket Pipelines:

  • Environments: Development, Staging, QA, Production
  • Build Process: Install → Lint → Test → Build → Deploy
  • Hosting: S3 static hosting with CloudFront CDN
  • Cache: CloudFront invalidation on deploy

AWS Services

  • Lambda: Serverless compute for all API functions
  • API Gateway: REST API with CORS configuration
  • RDS: PostgreSQL database
  • S3: File storage (public and private buckets)
  • Cognito: User authentication
  • SES: Email notifications
  • CloudFront: CDN for frontend delivery

Technologies Deep Dive

The technology choices balanced enterprise features with serverless efficiency:

  • AWS SAM simplified Lambda deployment with infrastructure as code
  • Syncfusion provided enterprise-grade Gantt scheduling without building from scratch
  • Material-UI ensured consistent, professional UI across all components
  • Redux Immutable prevented accidental state mutations in complex project data
  • Lambda Layers shared common code across all serverless functions
  • Pre-signed URLs enabled secure direct uploads to S3 without proxying through Lambda

Technologies

React Redux Node.js AWS Lambda PostgreSQL AWS S3 AWS Cognito Material-UI Syncfusion Serverless

Key Highlights

  • Built React frontend with Material-UI and Syncfusion Gantt chart scheduling
  • Developed serverless AWS Lambda backend with 57+ API handlers
  • Implemented comprehensive task and deliverable management system
  • Created team collaboration features with invitations and notifications
  • Set up multi-environment CI/CD pipeline with Bitbucket Pipelines