Skip to content

Latest commit

 

History

History

42


42 Projects 🚀

Welcome to the 42 Projects Repository! Here you'll find a collection of projects covering various topics and technologies. Each project is designed to challenge and expand your skills in different areas of software development.

Table of Contents

  1. Python for Data Science
  2. Cloud1
  3. ft_ls
  4. scop
  5. Zappy
  6. Piscine Object
  7. snow-crash
  8. rainfall
  9. libasm
  10. matrix
  11. libftpp
  12. override

Python for Data Science

Python

Python for Data Science is a Python piscine designed to introduce you to the world of data science. Through a series of exercises and projects, you'll learn essential Python programming skills and how to apply them to analyze and visualize data.

Topics Covered:

  • Python basics
  • Data manipulation with pandas
  • Data visualization with matplotlib and seaborn
  • Introduction to machine learning with scikit-learn

Index

  1. Python - 0 - Starting
  2. Python - 1 - Array
  3. Python - 2 - DataTable
  4. Python - 3 - OOP
  5. Python - 4 - Dod

Cloud1

Cloud

Cloud1 focuses on configuring automation tools for development and production environments of the Inception project. You'll learn how to leverage AWS services and Ansible for efficient and scalable cloud infrastructure management.

Topics Covered:

  • AWS services (EC2, S3, RDS, etc.)
  • Infrastructure as Code (IaC) with Ansible
  • DevOps practices for cloud-based projects
  • Automation and deployment pipelines

ft_ls

C

ft_ls is a custom implementation of the ls command in C, with additional features and bonuses. Through this project, you'll gain a deeper understanding of file system operations and command-line tool development.

Features:

  • Support for various options (e.g., -l, -R, -a)
  • Bonus features such as colorized output and column formatting
  • Cross-platform compatibility

scop

OpenGL

scop is an object renderer developed using OpenGL and GLSL. In this project, you'll implement functionalities to render objects with different textures, apply shaders for visual effects, and interactively rotate the object in a 3D environment.

Features:

  • Texture mapping
  • Shader programming for custom visual effects
  • 3D object manipulation with user input

Zappy

Game Development

Zappy is an all-in-one project focused on game development, TCP networking, and AI. You'll work on building a multiplayer game server, implementing TCP communication protocols, and developing AI algorithms for player interaction and game strategy.

Components:

  • Game server development
  • TCP networking and protocol design
  • AI algorithms for game strategy

Piscine Object

C++

Piscine Object is a C++ piscine covering advanced object-oriented topics. Through a series of exercises and projects, you'll delve into inheritance, polymorphism, templates, and other advanced C++ features to master object-oriented programming concepts.

Topics Covered:

  • Inheritance and polymorphism
  • Template programming
  • Smart pointers and memory management
  • Design patterns and best practices

Index

  1. Module 00 - Encapsulation
  2. Module 01 - Relationship
  3. Module 02 - UML
  4. Module 03 - SMART
  5. Module 04 - Design Pattern (C++98)
  6. Module 04 - Design Pattern
  7. Module 05 - Pratical work

snow-crash

cybersecurity

snow-crash is a project that forces you to explore a VM given to you and you must find how to access the next level (user) You will need to implement different exploits and use a lot of creativity.


rainfall

cybersecurity

rainfall is a project that forces you to explore a VM given to you and you must find how to access the next level (user) You will need to implement different exploits and use a lot of creativity. This is the continuation of snow-crash


override

cybersecurity

override is a project that forces you to explore a VM given to you and you must find how to access the next level (user) You will need to implement different exploits and use a lot of creativity. This is the continuation of rainfall & it's the last module of this branch


libasm

assembly 86x64

libasm is a project covering the basics of the assembly language (64 bits architecture with Intel syntax)

Exercises:

  • ft_read (man 2 read)
  • ft_strcmp (man strcmp)
  • ft_strcpy (man strcpy)
  • ft_strdup (man strdup)
  • ft_strlen (man strlen)
  • ft_write (man 2 write)

You will also learn how to load dynamically assigned objects (through the PLT [Procedure Linkage Table]) like the ones in glibc.so.6


matrix

Rust

matrix is a project that allows you to explore Vectors and Matrixes, after this project you should have no problems understanding linear algebra, and how useful are matrixes and vectors in programming.


libftpp

C++

libftpp is your first real multiuse library developed with C++17.