Project Description:

A company needed a portal to manage memberships for individuals and companies consisting of one or more members. Additional data storage was required for these members including, but not limited to:

  • Companies, company locations, and contact information
  • Company, Company Member, and userCertifications
  • Company offered products and services

Key Features:

  • Custom Full-Stack Development Built with Symfony MVC Framework
  • Built Custom CSV data importer, including related entity (foreign key) creation

Planning and Pre-build:

I was given a doc with a rough idea of how the schema should look and what type of information would be required. The first step was to convert this into a direct database schema design using pen and paper.

Afterwards, I began creating entities and mapping relationship types using the Symfony CLI.


The entire project had to be live and testable within 1 week. As the sole developer working on the project, this was not a lot of time! The schema had about 15-30 total entities with varying levels of complexity in their relationships.

In order to work most efficiently, I decided to use Twig: Symfony’s built in template language. Twig allowed me to rapidly create the backend in conjunction the front end. This came with a sacrifice to user experience as all actions required a form submission and a page reload.

After some testing and QA to ensure all Entities are operating as intended, the switch was made to EasyCorp/EasyAdmin to allow for easy data reporting and filtering – yay!

Continued Development:

This project is not complete at the time of this writing and I have the following features are scheduled for future updates:

  • Task management system
  • Ticket/Support portal
  • Member self service portal