01Context
The showcase website of DaVinciCode, ESILV's cybersecurity club, designed and built by a team of two from October 2025 to May 2026.
02Stack
Front end: React, TypeScript, Vite and Sass. Server side: a Docker container behind an Nginx reverse proxy.
03Two people, one repository
We worked on a development branch, then carried validated changes over to the production branch. With two of us, a change that breaks everything shows up online immediately, hence the discipline.
04Securing a security club's website
A cybersecurity club's website will inevitably be tested by its own members. So we didn't stop at the front-end code:
- HTTP security headers configured server-side to limit what the browser agrees to load and execute.
- Nginx as a reverse proxy in front of the app: it's the only exposed point, receiving requests and passing them to the container. The app itself is never directly reachable from the Internet.
- Docker to isolate the app and make deployments reproducible: the same image runs locally and in production.