Backend & web applications
EMSI Association · student life
A Laravel application that brings together the clubs, memberships, events and news of EMSI Rabat, with a student space and an admin space.
- Completed
- Individual project
- roles: student and administrator
- 2
- domains: clubs, members, events, news
- 4
- platform instead of groups and posters
- 1
01Starting point
Context & mission
The problem
Student life at the school ran on messaging groups and posters: hard to know which clubs exist, who belongs to them and what is coming up.
The mission
Bring student life onto one platform, with one space for students and another for administrators.
My role
Designed and built on my own as part of my studies at EMSI: UML modelling, Laravel back end, interfaces and administration.
02Execution
What I did
UML design
The system is modelled in UML with StarUML before development.
Roles and authentication
Registration and login with Laravel Sanctum, role-based permissions: student or administrator.
Clubs and memberships
Creating and managing clubs, their members and student memberships.
Events and news
Publishing events with registrations and participation tracking; publishing and reading campus news.
Responsive interface
Blade views, Tailwind CSS and JavaScript, assets built with Vite; a dedicated dashboard for each role.
03Design
Architecture
Laravel’s MVC architecture: routes lead to controllers and middleware, Eloquent models persist data in MySQL, Blade views render the interface.
- Browser
- Laravel routesMiddleware · Sanctum
- Controllers
- Eloquent models
- MySQL
- Blade viewsTailwind CSS · JavaScript
04Impact
Results
- The school’s student life brought onto a single platform.
- Role-separated spaces, with a full back office for administrators.
05Wrap-up
Takeaways
What this project provesThat I can build a complete web application on my own: UML modelling, roles and permissions, back office and responsive interface.
06Technology
Full stack
- PHP
- Laravel
- Eloquent
- Blade
- Tailwind CSS
- JavaScript
- Vite
- MySQL
- Sanctum
- UML
- MVC