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.
Workflow:
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