CMS Revamp Dashboard

Frontend Developer & R&D Lead
Team: 1
2019-04 - 2019-10
CMS Revamp Dashboard

Technology Stack

Vue.jsVuexChart.jsREST APIBootstrap

CMS Revamp Dashboard

Summary

First implementation of Vue.js in PT Global Unggul Mandiri, a complete R&D initiative and built single-handedly. This CMS Dashboard revolutionized how the company manages content across Website, User App, and Hero App platforms.

Project Impact

Context & Requirements

The company needed a modern, unified content management system to replace the legacy PHP-based admin panels. The existing system was:

  • Slow and difficult to maintain
  • Required page reloads for every action
  • No real-time preview capabilities
  • Inconsistent UI across different modules

Business Goals:

  • Centralize content management for all platforms
  • Enable non-technical staff to manage content
  • Reduce time-to-publish from hours to minutes
  • Improve data consistency across platforms

Architecture

CMS Architecture

Tech Stack:

  • Frontend: Vue.js 2, Vuex for state management
  • UI Library: Bootstrap for rapid development
  • Charts: Chart.js for analytics visualization
  • API: RESTful API integration
  • Build: Webpack, Babel

Key Decisions & Tradeoffs

Why Vue.js?

ConsiderationDecisionReasoning
Learning CurveVue.js over ReactGentler learning curve for future team adoption
DocumentationVue.jsExcellent documentation in multiple languages
Bundle SizeVue.jsSmaller initial bundle for better performance
State ManagementVuexNative integration, simpler than Redux

R&D Approach

This was a pioneering effort - the first Vue.js project in the company. Key decisions:

  1. Modular Architecture: Built reusable components that could be shared across modules
  2. Documentation First: Created comprehensive internal docs for knowledge transfer
  3. Progressive Migration: Designed system to coexist with legacy PHP during transition

Transformed the content management workflow from traditional page-reload forms to a modern, reactive interface with real-time preview capabilities.

Implementation Highlights

1. Real-time Content Preview

Built a live preview system that shows content changes instantly without saving, allowing editors to see exactly how content will appear on each platform.

2. Role-based Access Control

Implemented granular permissions system:

  • Super Admin: Full access to all modules
  • Content Manager: Create/edit content, no system settings
  • Editor: Limited to assigned content categories

3. Multi-platform Configuration

Single interface to manage content that displays differently on:

  • Main Website (desktop-first)
  • User Mobile App (mobile-optimized)
  • Hero App (driver-facing interface)

Results & Metrics

Before vs After

Key Achievements:

  • Successfully introduced Vue.js as a standard for future frontend projects
  • Reduced content publishing time from hours to minutes
  • Created foundation for company-wide Vue.js adoption
  • Built comprehensive documentation enabling smooth knowledge transfer

What I Would Improve

With more time and resources, I would:

  1. Add TypeScript: For better type safety and maintainability
  2. Implement SSR: Server-side rendering for better SEO on public-facing parts
  3. GraphQL Integration: More efficient data fetching than REST
  4. Automated Testing: Comprehensive unit and e2e test coverage
  5. Design System: Formalized component library with Storybook

Lessons Learned

"Being the sole developer on a pioneering project taught me the importance of documentation and building for maintainability, not just functionality."

This project established Vue.js as the go-to framework at the company and set the foundation for all subsequent frontend projects including PaxelMarket.