Skip to content
View znichola's full-sized avatar

Highlights

  • Pro
Block or Report

Block or report znichola

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
znichola/README.md

Hello

I'm Niki 👋, I'm studying programming at 42Lausanne and have a passion for it, most especially when it's a group endeavour.

Here are some of the projects I'm most proud of:

Typescript projects

A single page site for playing multiplayer games of pong, as well as community management, friends, chatrooms and spectator mode. The backend uses Nestjs for the server, PostgreSQL for the database and Prisma as an ORM to communicate between the two. The frontend uses React for the user interface Reactrouter to get SPA client side routing, with TanStack Query v4 for state management. The styling was done using the TailwindCSS design system. A five person project [git repo]

C++ projects

A http server that support POST, GET and DELETE, cookies and session management, and a configurable CGI, examples provided in php, python and bash. The server uses the kqueue api for request multiplexing, the GCI execution is also added to the queue for a seamless no hang experience with multiple concurrent requests. A three person project [git repo]

C projects

A 3D ray-tracing rendering engine built from the ground up using the minilibx for a basic X-Window api. It supports basic primitives, Plane, Sphere, Cone, and Cylinder, as well as texture mapping images or a configurable checkerboard pattern. The engine also supports the Phong reflection model with shadows from multiple light sources and correct color mixing. Particular attention was given the optimization, mainly for the development experience, debugging the maths function for the various shapes was non trivial. Multithreading was implemented with pthreads api and thought was given to the data-structures used. A two person project [git repo]

A simplified shell, imitating the behavior of bash, in/out files, pipes, wildcards and control flow with && || ( ). Also includes a unittest framework written in bash, implemented to ensure correctness during development. A two person project [git repo]

Mandelbrot, Julia and Burning Julia fractal rendering, written in C using a basic graphics library the minilibx. The complex number maths was custom implemented along with panning an zooming. A solo project [git repo]

GameJams

I love the fast paced goal oriented format of the GameJam/Hackathon, the team dynamics and the mission to compleat a project. For all of my submissions I took the role of programmer and used GoDot, chosen for it's excellent documentation and solid browser performance, and used it's GDScript, a python like language for development.

Event: UPsi Jam 2.0 A physics based game with falling balls and mechanics in place to direct them to your opponent for them to deal with. A four person team [git repo] [itch page]

Event: Global Game Jam Geneva 2023 A tower defense style game with a resource gathering phase. A massive nine person team [git repo] [itch page]

Event: LevelUp 2023 A story based dungeon crawler with branching options and specific text for various event combinations. A three person team [git repo] [itch page]


page last updated jan 2024

ps. if you notice any spelling errors or weird grammar, don't hesitate to tell me

Pinned

  1. ft_transcendence ft_transcendence Public

    The final project of the 42 common core: a website to play pong and chat with friends

    TypeScript 2 1

  2. sophiakoulen/minishell sophiakoulen/minishell Public

    A simplified bash-like shell, with pipes, redirections and variable expansion.

    C 4 1

  3. BPhilagor/WebServ BPhilagor/WebServ Public

    Notre projet web server pour 42 Lausanne

    C++ 2 1

  4. 0xOnyx/UpsiJam2.0 0xOnyx/UpsiJam2.0 Public

    Game jam

    GDScript 1 1

  5. miniRT miniRT Public

    A ray tracer with the phong lightning mode, multiple light sources, texture mapping and 4 primitive shapes; sphere, cylinder, plane and cone.

    C

  6. 0xOnyx/GGJ 0xOnyx/GGJ Public

    Global Game Jam Geneva 2023

    GDScript