My journey at 42
I attended 42, an innovative network of computer programming schools present in over 30 countries worldwide. Here, you can discover the various school projects I participated in during my studies.
C
C++
TypeScript
Nest
React
Docker
Github
Psql
- ft_transcendence
Containerized full-stack web application: real-time multiplayer Pong game. Tech stack: React (TypeScript) for the frontend, NestJS for the backend, PostgreSQL with Prisma ORM. OAuth and 2FA implementation for security, IRC-like chat and a matchmaking system. Modern full-stack development, containerized architecture with Docker, and collaboration in a team of 5 developers.
- ft_irc
IRC (Internet Relay Chat) server compliant with the RFC protocol in C++. Handling multiple connections with select/poll, channels, IRC commands, and moderation. Advanced network programming, client-server architecture, and asynchronous event handling in C++.
- Inception
Multi-container infrastructure with Docker Compose. Service orchestration (NGINX, WordPress, MariaDB) with persistent volumes and a Docker network. Strong Docker skills, application containerization, web service configuration, and DevOps practices.
- cub3d
3D raycasting engine inspired by Wolfenstein 3D using MinilibX. Real-time rendering, texture handling, and geometric calculations for 3D projection. Mastery of graphics algorithms, 3D math, and rendering performance optimization.
- NetPractice
Network configuration and troubleshooting (TCP/IP, subnetting, routing). Understanding IP addresses, subnet masks, routing tables, and network topologies. Building essential skills in network administration and TCP/IP protocols.
- minishell
Recreation of a minimal Unix shell in a pair. Command parsing, redirections, pipes, environment variables, and signal handling. Deep understanding of shell internals, collaborative work with Git, and complex software architecture.
- philosophers
Simulation of the dining philosophers problem with threading and synchronization. Managing mutexes/semaphores to avoid deadlocks and race conditions. Mastery of multithreading, shared resource synchronization, and classic concurrency problem solving.
- so_long
Creation of a 2D game using the MinilibX graphics library. Keyboard event handling, rendering, map parsing, and game logic. Introduction to graphics programming, game loop design, and real-time event handling.
- ft_pipex
Reproducing Unix shell pipe and redirection behavior. Process management with fork(), inter-process communication, and command execution. Mastery of Unix system calls, multi-process handling, and understanding shell internals.
- push_swap
Optimized sorting algorithm using two stacks with a limited instruction set. Implementing efficient sorting strategies to minimize the number of operations. Developing skills in algorithms, optimization, and complexity analysis.
- ft_get_next_line
Implementation of a function to read a file descriptor line by line. Managing static buffers and efficient reading with any buffer size. Deep understanding of system I/O operations and dynamic memory management.
- ft_printf
Full reimplementation of C's printf function. Handling type conversions, flags, and precise formatting. Mastery of variadic arguments, complex parsing, and code optimization to faithfully reproduce the original behavior.
- Born2beroot
Setup and hardening of a Debian/Rocky Linux server in a virtual machine. Configuring firewall rules (UFW), SSH, strict password policy, and system monitoring. Building skills in Linux system administration and cybersecurity.
- ft_libft
Recreating the C standard library from scratch. Implementing essential functions (string manipulation, memory, linked lists) under 42's strict standards. Learning C fundamentals, manual memory management, and core data structures.