Skip to main content
Back to Portfolio
Enterprise Monorepo Project

makeitall

Full-stack internal collaboration platform with strict RBAC, soft-deletes, shared TypeScript interfaces, and drag-and-drop Kanban analytics.

Presented to External Stakeholders

Co-developed across a 7-member university engineering team. I led the UI/UX architecture and API contracts, successfully demonstrating the live deployment-ready application to industry stakeholders and receiving commendation for technical robustness and intuitive design.

Core Engineering Highlights

  • JWT & RBAC Security

    Secured endpoints with bcrypt password hashing and strict Role-Based Access Control distinguishing Managers from Team Members.

  • MySQL Pooling & Soft-Deletes

    Relational database utilizing connection pooling for high throughput and soft-delete schemas for compliance and audit recovery.

  • Complex Kanban State

    Trello-style drag-and-drop task orchestration with optimistic UI updates and instant conflict resolution.

  • Managerial Analytics (Chart.js)

    Real-time managerial dashboards rendering dynamic Gantt schedules, productivity doughnuts, and team workload distributions.

  • Shared TypeScript Monorepo

    Shared domain models and DTO interfaces across Vite/React client and Express backend for 100% end-to-end type safety.

Technology Stack

ArchitectureMonorepo (Node.js/Express REST API + Vite/React SPA)
DatabaseMySQL with Connection Pooling & Soft-Deletes
AuthenticationJWT, Bcrypt, Role-Based Access Control (RBAC)
Analytics & UIChart.js, Tailwind CSS, Drag-and-Drop Kanban
DeploymentVercel Frontend & Containerized Backend Services

Type-Safe Service Contracts

// Shared Interface across Monorepo
export interface ITaskResponse {
  id: string;
  status: 'BACKLOG' | 'IN_PROGRESS' | 'COMPLETED';
  assignedRole: RoleType;
  deletedAt: string | null; // Soft-delete
}

Team Monorepo & System Architecture

Make-It-All was engineered as a university team project with 7 software engineers. As the UI/UX Lead and core API architect, I established the monorepo structure containing the Node.js/Express REST API and Vite/React single-page application.

To eliminate interface mismatches between the front and back ends, we unified data transfer objects (DTOs) into shared TypeScript packages. The MySQL database was configured with connection pooling to maximize concurrent query efficiency, and soft-delete schemas were implemented across all relational tables so that accidentally deleted records could be audited and restored.

Kanban State & Managerial Analytics

A centerpiece of the application is the interactive Kanban board. Managing drag-and-drop state across columns with optimistic UI updates required robust state management to ensure that network dropouts or permission rejections gracefully roll back card positions.

For project managers, we integrated Chart.js to render live Gantt timeline estimations, sprint velocity metrics, and doughnut charts illustrating workload distributions across team members.