Welcome to my GitHub! This repository started as a showcase of my academic journey at 42 Porto, where I built projects ranging from Unix shells to 3D games. Since then, I’ve expanded my work into professional software development, contributing to real-world projects in smart mobility, IoT, and cross-platform mobile applications.
Here you’ll find my academic projects in C and C++, and soon I’ll be sharing more about the professional and collaborative projects I’ve been part of, including a multimodal route planning app and an ongoing cross-platform app for interactive historical tours.
The Minishell project is a command-line shell program developed as a learning exercise. It replicates basic Unix shell functionality and demonstrates my proficiency in system calls, process management, and command execution logic using a binary tree structure.
The Cub3D project is a homage to the iconic Wolfenstein 3D game, where players navigate through a dynamic view inside a maze. Using ray-casting techniques, the project offers an immersive experience that challenges players to find their way out of the labyrinthine corridors. Along the way, players encounter enemies and engage in thrilling shootouts.
"So Long" is a 2D game developed as part of the curriculum at 42 code school. It features sprite animations, map rendering, and character movement mechanics. The game is built using the MiniLibX graphical library and showcases my skills in computer graphics programming and game development.
The Minishell project is a command-line shell program designed to replicate basic Unix shell functionality. It supports features such as command execution, history management, input/output redirection, piping, and handling of environment variables.
- Command execution logic using a binary tree structure.
- Support for input/output redirection and piping.
- Implementation of built-in commands like
cd,echo,pwd,export,unset,env, andexit. - Handling of signals such as Ctrl-C, Ctrl-D, and Ctrl-\ in interactive mode.
The Minishell project utilizes a binary tree data structure to manage the execution of commands and associated operations. The command parsing process involves tokenization, parsing pipelines, parsing commands, handling input/output redirection, and logical operators.
The Minishell project achieved the maximum score of 125, demonstrating the successful implementation of all required features and meeting project objectives.
- Ray-casting implementation for dynamic view rendering.
- Maze exploration with interactive movement controls.
- Texture mapping to create immersive environments.
- Collision detection to navigate through the maze without passing through walls.
- Interaction with enemies, including shootouts with realistic bullet mechanics.
- Player health and ammo management, with consequences for getting hit and firing shots.
The project achieved the maximum score of 125, demonstrating the successful implementation of all required features and meeting project objectives.
"So Long" is a 2D game developed using the MiniLibX graphical library. The game features sprite animations, map rendering, and character movement mechanics. Players control characters from the popular animated series "Family Guy" in a side-scrolling adventure.
- Sprite animations for characters and game elements.
- Map rendering and collision detection.
- Character movement mechanics, including player controls and enemy behavior.
- Bonus features such as Eric_Trump mode, where enemies actively pursue the player character.
The project achieved the maximum score of 125, demonstrating the successful implementation of all required features and meeting project objectives.
Feel free to reach out to me on LinkedIn for inquiries, collaborations, or further discussions.
Thank you for visiting my GitHub repository! I hope you find my projects insightful and inspiring. Happy coding!

