All projects

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

  1. UML design

    The system is modelled in UML with StarUML before development.

  2. Roles and authentication

    Registration and login with Laravel Sanctum, role-based permissions: student or administrator.

  3. Clubs and memberships

    Creating and managing clubs, their members and student memberships.

  4. Events and news

    Publishing events with registrations and participation tracking; publishing and reading campus news.

  5. 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.

MVC architecture
  1. Browser
  2. Laravel routesMiddleware · Sanctum
  3. Controllers
  4. Eloquent models
  5. MySQL
Supported by
  • 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 proves

That 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