CMS Revamp Dashboard

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

Technology Stack

Vue.jsVuexChart.jsREST APIElement UI

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

6 months
Development Time
Solo
Team Size
3+
Platforms Served
10x faster
Content Updates
+900%

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

Vue.js CMS
REST API
MySQL Database
Mobile & Web Apps

Tech Stack:

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

Key Decisions & Tradeoffs

Why Vue.js?

| Consideration | Decision | Reasoning | |--------------|----------|-----------| | Learning Curve | Vue.js over React | Gentler learning curve for future team adoption | | Documentation | Vue.js | Excellent documentation in multiple languages | | Bundle Size | Vue.js | Smaller initial bundle for better performance | | State Management | Vuex | Native 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

5 min
Content Publish Time
from 2+ hours
1 day
Training Time
from 1 week
92%
User Satisfaction
+47%
-75%
Bug Reports

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.