Channel Ready, Inc.
Senior Developer & Lead Architect
Oct 2011 - May 2023
In my role as application developer at Channel Ready, I designed and maintained a modular framework for spinning up and administering customer web sites and membership portals. The primary product at Channel Ready was a custom content management system to serve all of Channel Ready's clients. I was brought in to redesign and build a new system from the ground up.
We served different types of clients with different needs, so I took a modular approach that would allow us to enable or disable features for each client, delivering a customized administration environment while maintaining a single codebase. There were standard modules used by all clients such as content management, media, and reports; and there were specialty modules like the catalog module (for product management / ecommerce) or the course development module (for online learning).
The administrative interface was an ASP.NET / MVC project and each module was packaged into it's own .dll. The client web sites were also ASP.NET / MVC projects and would include modules as necessary. Each client web site was customized from a template project, and the modular design allowed us to reuse code for much of the functionality while allowing us to deliver unique web sites for each client.
A brief overview of selected modules
Content Management Module
Allow clients to edit their own content.
Media Module
Allow clients to manage images, videos, and documents.
News Module
Manage timely news items, similar to micro-blogs.
Ad Module
Allow clients to place and track advertising on their web sites.
Catalog Module
Product management for online catalogs and e-commerce sites.
Messaging Module
Enable messaging between users of a client's web site.
Member Module
Add member portal functionality to a client's web site.
Property Management Module
Manage properties for sale or lease.
Client Data Module
Adds custom data management to a project without the need for database changes.
Publication Module
Enable publication workflow, allowing users to make changes and preview them before going live.
Events Module
Create and manage an event calender, including event registration.
Course Development Module
Design curriculum for online training.
Report Module
Add reporting insfrastructure to a project.
Primary Technologies
- ASP.NET / .NET
- MVC
- C#
- MS Sql Server
- JavaScript (Vanilla + jQuery)
- HTML / CSS
Highlights
- Created a learning management module for internal training at retail stores, allowing for course material management, user evaluation, and progress tracking.
- Implemented a media module for managing media files and streaming audio/video from customer web sites.
- Designed an event management/registration module for managing events, calendar display, automated registration, and registrant management.
- Developed a site search feature with near-real-time updates to dynamic content, including faceted search and full-text capabilities.
- Created an extensible data framework, allowing for administration of custom data on a per customer basis without the need for UI changes.
- Designed and built a publication system for previewing dynamic user pages before publishing content to a live web site, letting customers publish their own content.
- Created a content management module, including a widget system, extending an off-the-shelf HTML editor to allow customers to insert dynamic content into user pages.