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:
- Welcome screens
- User profile creation
- Initial project setup
- Team member invitations
- Schedule uploads
- 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
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