Eflintdev

Page Content Section

MindEdge Catalog

Yes! I helped build a showcase for a grand sea of learning opportunities!

Since MindEdge works with many universities and learning partners, it’s important for this organization to have a catalog that caters to its many prospective learners and constituents. MindEdge supports thousands of learners annually and has served over 3.5 million learners since it was founded over twenty years ago.

The Details

In 2019 the MindEdge Catalog was produced to respond to a growing need for making more information about this organization’s learning products readily available. This was a team project that included our new CTO at the time, Director of IT, and senior MindEdge IT engineers. My job was to work on the front-end mostly, while also doing some minor work in the back-end to ensure data was provided to the API.

For the subsequent refacing cycles in 2022 and 2024, I took on more responsibility for modeling the database schema. I also developed REST API code to help hydrate new front-end assets in the application. This application was built with the Angular framework.

Employed Coding Languages

  • PHP (for back-end REST API)
  • TypeScript (inside Angular)
  • JavaScript (imports mostly)
  • SCSS

Querying Languages or Facades

  • MySQL
  • Eloquent

Multi-tenant App

The MindEdge Catalog is a multi-tenant application. It reconfigures portions of the layout and theme for each partner's mini-site that's presented in the user interface. Also, this application is coded to retrieve data that's specific to each partner/tenant, based on various options and settings.

Observable Code Pattern

Observable code pattern

Software Architecture

Even though this is an Angular application I still had ensure that good code design was one of my priorities. Here are the primary code patterns I used for this project.

Coding Patterns

  • Singletons (for services or injectable classes)
  • Dependency Injection
  • Modules
  • Decorators
  • Observers
  • Event Listeners
  • Classes

Libraries

  • RxJS
  • NgRx (more recently and in-progress)