Skip to content

hanmpark/42-common-core

Repository files navigation

42 Common Core Projects

All my 42 Common Core projects gathered in a single monorepo with preserved commit history.


GitHub repo size GitHub language count GitHub top language

📖 Description

This repository centralizes all my 42 Common Core projects, each preserved as a subtree with its original Git history.

The projects cover:

  • "C fundamentals (libft, get_next_line, ft_printf)"
  • "Algorithms & optimization (push_swap, philosophers)"
  • "UNIX & processes (pipex, minishell, ft_irc)"
  • "Graphics (so_long, miniRT)"
  • "C++ OOP (cpp_modules)"
  • "Full-stack web (ft_transcendence)"

📂 Projects

  • libft/ — C utility library (strings, lists, memory) (solo)
  • get_next_line/ — Read a file descriptor line-by-line (solo)
  • ft_printf/ — Reimplementation of printf (solo)
  • push_swap/ — Stack-based sorting with constrained ops (solo)
  • pipex/ — UNIX pipelines & process management (solo)
  • so_long/ — 2D game using MiniLibX (solo)
  • philosophers/ — Dining philosophers (threads/mutexes) (solo)
  • minishell/ — A small shell (parsing, env, pipes, redirects) (group project, with @Kariyu42)
  • miniRT/ — Minimal raytracer (vectors, cameras, lights) (group project, with @YounesBouhlel)
  • cpp_modules/ — C++00–09: OOP basics, canon form, exceptions, templates (solo)
  • ft_irc/ — RFC-style IRC server (C++98, sockets, epoll/poll) (group project, with @Kariyu42)
  • ft_transcendence/ — Final web project (Javascript, React, Django, etc.) (group project, with @Kariyu42, @okbrandon, @evnsh)

🧮 Project Scores

This file tracks my results for each 42 Common Core project. Badges are from ayogun/42-project-badges.


Project Badge Score
libft libft 125/100
get_next_line get_next_line 125/100
ft_printf ft_printf 125/100
push_swap push_swap 125/100
pipex pipex 125/100
so_long so_long 125/100
philosophers philosophers 125/100
minishell minishell 125/100
miniRT miniRT 120/100
cpp_modules cpp_modules 100/100
ft_irc ft_irc 125/100
ft_transcendence ft_transcendence 125/100

🛠️ Repository Management

  • Projects imported as subtrees, preserving commit history.
  • Update all projects:
make update
  • Update a single project:
make one NAME=<project>
  • List remotes:
make remotes
  • Ensure remotes are set (on fresh clone):
make ensure-remotes

🧭 Structure

.
├── cpp_modules/
├── ft_irc/
├── ft_printf/
├── ft_transcendence/
├── get_next_line/
├── libft/
├── miniRT/
├── minishell/
├── philosophers/
├── pipex/
├── push_swap/
└── so_long/

📖 About 42

42 is a project-based, peer-learning CS school. The Common Core spans C/C++, UNIX, algorithms, graphics (MiniLibX), and web.


⚠️ Disclaimer

This repository is shared for educational and portfolio purposes only. Unless otherwise stated, the code is not licensed for reuse.


👤 Authors

About

From libft to transcendence — the full boss fight run

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors