My Projects
Assertify (Lightweight TS Test Runner)
A test framework built from scratch with Node.js and TypeScript to understand the core principles of Jest/Vitest, focusing on test discovery, sandboxed execution, and reporting.
Key Features:
- Overview: A test framework built from scratch with Node.js and TypeScript to understand the core principles of Jest/Vitest, focusing on test discovery, sandboxed execution, and reporting.
- Metrics: Implemented 5 core APIs ('describe', 'it', 'expect') and 7+ common assertion matchers ('toBe', 'toEqual','toBeTruthy').
- Core Implementation: Used Node.js 'vm' module for sandboxed execution contexts to prevent test contamination. Used 'fs' and 'glob' for automatic discovery and execution of '*.test.ts' files.
- Async & Efficiency: Supported 'async/await' for asynchronous test cases and kept the core implementation concise (within 500 lines of code).
Technologies:
Node.jsTypeScriptvm moduleglob
Interactive Games
Snake Game
PlayableA classic Snake game with difficulty levels and boundary wrapping. Features original gameplay mechanics with modern React implementation.
Key Features:
- Three difficulty levels (Easy/Medium/Hard)
- Boundary wrapping - snake goes through edges
- Score tracking and high score system
- Food collision detection with overlap prevention
- Self-collision detection
- Game over modal with restart functionality
Technologies:
ReactTypeScriptCanvas APIJavaScript
🎮
Bouncing Ball Game
PlayableAn interactive ball physics game where you control a platform to bounce a ball and destroy all bricks.
Key Features:
- Mouse-controlled platform movement
- Realistic ball physics and collision detection
- 10 randomly placed bricks to destroy
- Boundary collision with speed reversal
- Win condition when all bricks are destroyed
- Dynamic brick collision based on impact direction
Technologies:
ReactTypeScriptCanvas APIJavaScript
🎮
Tetris Game
PlayableA modern implementation of the classic Tetris puzzle game with smooth animations and intuitive controls.
Key Features:
- Classic Tetris gameplay with 7 piece types
- Line clearing and scoring system
- Level progression with increasing speed
- Keyboard controls (arrow keys, spacebar)
- Game pause and resume functionality
- Real-time collision detection and piece rotation
Technologies:
ReactTypeScriptCanvas APIJavaScript