IntraLab
A school intranet, from the database to real-time messaging.
- Role
- Full-stack web developer (team project)
- Period
- 2025 — 2026
- Services
- Full-stack Development
- Real-time
- Database
- Stack
- Nuxt 4 · TypeScript · Tailwind CSS · Prisma · PostgreSQL · WebSocket · JWT · Zod · OGL (WebGL) · PM2 · Apache

Context
IntraLab is the intranet of an ESGI-style school: students, administrators and academic managers publish articles, borrow equipment, sell to each other and chat.
The project was carried out by a multidisciplinary team in our third year at ESGI. I owned the entire web side, from the interface to the server, while other students worked on cybersecurity and system and network infrastructure.
What I did
- 01
Interface
A dark interface with frosted-glass surfaces over an animated WebGL background (OGL), built with Tailwind CSS and reusable components, on desktop and mobile.
- 02
API & database
46 REST API routes with Nuxt 4 (Nitro), 16 Prisma models on PostgreSQL and Zod validation of every input.
- 03
Real-time & security
WebSocket messaging (replies, reactions, typing indicator, read receipts), messages encrypted at rest (AES), JWT authentication, bcrypt-hashed passwords and role-based access control on every route.
- 04
Production
Deployment on a Debian virtual machine: PM2 for the Node process, Apache as a reverse proxy (WebSocket included) and Prisma migrations.
Overview




On mobile



Highlights
Moderated blog
Articles go through a draft, pending, published or rejected workflow, validated by administrators and academic managers.
Loans & marketplace
Borrowing school equipment with approval and return tracking, and student-to-student sales with search, filters and sorting.
Messaging & notifications
Real-time conversations and notifications for every event: loan request, approved article, new message.
Teamwork
The project brought several ESGI specialisations together: I led web development, my classmates handled cybersecurity and system and network infrastructure.
I also documented the application, with a technical sheet and a step-by-step deployment guide for a Linux virtual machine.
Interested in my profile?
Currently looking for a two-year work-study position: 3 weeks at the company, 1 week at school.
Send a message