Orange Events provides information about participating speakers, including background, expertise, accomplishments, and relevant contact information. The primary goal is to provide a centralized platform to inform event organizers and attendees about the speakers and publicize the events.
Created as a Senior Software Engineer at The reThinkGroup, Inc.
The goal was to centralize speaker information in a single location, rather than building it from scratch for each event or marketing website.
I implemented the project as a multi-page application with Vue components for viewing and manipulating data. Taking inspiration from Orange's brochures, I used the AdminLTE control panel template with a Vue component that encapsulated DataTables. Instead of using modals for everything, I took a novel approach by reusing the existing viewport to show and hide various components as needed. This technique has the downside of making it difficult to keep track of your place as you scroll up and down the page. However, it works well if you take care to ensure that all component dimensions are identical, as it minimizes jitter during navigation.
I utilized Laravel Passport for authentication via OAuth2 with apps or WordPress sites that
consume the API. I also used Swagger to provide API request documentation and visualization.
Continuous deployment to servers managed by Laravel Forge was made possible through Gitlab CI,
which triggers the Forge deployment process on successful merges to the master
or production
branches.
Technologies used on this project
General concepts
Infrastructure
Application-specific
Viewing, filtering, and sorting the listing of events.
Editing a particular event by clicking the pencil icon. The Event Listing
section is replaced and restored as we navigate.
Viewing, filtering, and sorting the listing of events.
Editing a particular speaker by clicking the pencil icon. The Speaker Listing
section is replaced and restored as we navigate.
Viewing, filtering, and sorting the listing of speaker types.
Editing a particular speaker type by clicking the pencil icon. The Speaker Type Listing
section is replaced and restored as we navigate.
Viewing, filtering, and sorting the listing of users.
Editing a particular speaker type by clicking the pencil icon. The User Listing
section is replaced and restored as we navigate.
Laravel Passport components for the OAuth clients and authorized applications on your behalf. Only administrators have access to create new OAuth clients. This allowed us to give CMS credentials to other teams while protecting the connectivity to WordPress and other websites.