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:
- Company locations
- Contact information
- Custom Full-Stack Development
- User Authentication and Authorization for Admins and Users
- Symfony MVC Framework
- CSV direct to entity import and creation (including foreign keys 😱)
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!
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