Orange Events

1 min read

Construct speaker bios and professional information for events to be utilized by marketing sites that drive sales.

Created as Software Engineer at The reThinkGroup, Inc in early 2018.

About this project

This project was born from a need to unify speaker information in a centralized location versus being scattered across a few APIs utilized by multiple apps and WordPress sites.

Implemented as a few-page application where pages contain Vue components that facilitate the view and forms required for manipulation. Taking cues from Orange Brochures, the AdminLTE control panel template was utilized with a Vue component that encapsulated DataTables. Instead of my prior experience of modals-for-all-the-things, I took a unique approach reusing the existing viewport to show and hide the various components as necessary. This technique has downsides, namely around scrolling and keeping your place but works rather well if component dimensions are constrained properly.

Laravel Passport was utilized for authentication via OAuth2 with the various apps or WordPress sites that consume the API. API request documentation and visualization was made possible via Swagger. Continuous Deployment to servers managed by Laravel Forge was made possible via Gitlab CI triggering Forge's deployment process on successful merges to master or production branches.

Technical sheet

Technologies used on this project

  • General concepts

    • UI/UX Design
    • UI/UX Architecture
    • HTML5 – semantic
    • CSS3 – preprocessed with SASS
  • Infrastructure

    • Ubuntu 16.04.6 LTS
    • PHP v7.1.27
    • MySQL v5.7.29
    • Nginx v1.15.8
    • Redis v5.0.7
  • Application-specific

    • Laravel Framework v5.4
    • Laravel Passport v4

      • OAuth2 to communicate with WordPress instances.
    • AdminLTE Control Panel Template
    • DataTables v1.10

      • Export to Excel/CSV/PDF
    • Bootstrap v3.3
    • jQuery v3.2
    • Lo-Dash v4.17
    • Vue v2.4
    • Moment.js v2.18
    • Swagger v2
    • Continuous Delivery via Gitlab CI and Laravel Forge