Professional work
Collaborative task manager · ALTEN 2024
My first project in a company: independently designing a collaborative task management application with Symfony, starting from a solid domain model.
- Internship project
- Individual project
- Confidential
01Starting point
Context & mission
The problem
August 2024, my first internship, at ALTEN in Fes. The subject: a collaborative task management application, where several people share and follow the same work.
The mission
Design and build the application independently, starting from the domain model, in an MVC architecture.
My role
I ran the design and development independently. This confidential project is separate from my public “gestionnaire-tache” repository.
02Execution
What I did
Model first
Before writing a single view, I modelled the domain: entities and their relationships, set before the screens.
JOINED inheritance
Doctrine inheritance with the JOINED strategy: one table per type, shared data factored out, no empty columns.
Enumerations
Business values typed with enumerations instead of free strings.
MVC architecture
A Symfony application structured as MVC: Doctrine ORM for persistence on MySQL, Twig for the views.
03Design
Architecture
Symfony as MVC: controllers orchestrate, Doctrine entities carry the domain model (JOINED inheritance, enumerations) and are persisted in MySQL, Twig renders the views.
- ControllersSymfony
- Domain modelEntities · JOINED · enums
- Doctrine ORMPersistence
- MySQL
- TwigViews
04Impact
Results
- A collaborative task management application designed independently, on a domain modelled before the screens.
- A first complete experience in a company: from subject to application, with Symfony, Doctrine, Twig and MySQL.
05Wrap-up
Takeaways
What this project provesThat from my very first internship, I could move a subject forward independently and lay a clean data model before building.
06Technology
Full stack
- PHP
- Symfony
- Doctrine
- Twig
- MySQL
- MVC