All projects
SCHOOL — Project delivered in an academic setting2025 — 2026

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
IntraLab home page with the latest articles

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

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

  2. 02

    API & database

    46 REST API routes with Nuxt 4 (Nitro), 16 Prisma models on PostgreSQL and Zod validation of every input.

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

  4. 04

    Production

    Deployment on a Debian virtual machine: PM2 for the Node process, Apache as a reverse proxy (WebSocket included) and Prisma migrations.

Overview

Real-time messaging: replies and reactions
Real-time messaging: replies and reactions
Personal dashboard (loans, articles, listings)
Personal dashboard (loans, articles, listings)
Account administration: roles, blocking and unblocking
Account administration: roles, blocking and unblocking
Inventory of equipment to borrow
Inventory of equipment to borrow

On mobile

IntraLab home page on mobileConversation 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?

contact@erieu.fr

Currently looking for a two-year work-study position: 3 weeks at the company, 1 week at school.

Send a message