- π Undergraduate
- π± Currently learning Cloud Architecture & React
- π» Interested in Full-Stack Development
- π Building personal and professional software projects
Full-stack PHP zoo booking and accommodation platform with custom MVC architecture, payments, authentication, and transactional booking workflows.
Stack Β· PHP Β· Eloquent ORM Β· MySQL Β· Stripe Β· Composer Β· PHPUnit Β· PHPStan
- Custom MVC architecture with dependency injection, middleware, services, repositories, and DTOs
- Ticket and accommodation booking with availability and date-overlap validation
- Session-based shopping cart supporting multiple item types
- Stripe Payment Intent integration with webhook handling for payment events
- Authentication, CSRF protection, session regeneration, protected routes, and centralised error handling
- PHPUnit unit and integration testing across authentication, cart, booking, checkout, payments, routing, and repositories
Java turn-based board game designed around Ports and Adapters architecture, with interchangeable game rules, dice systems, persistence, and replay functionality.
Stack Β· Java Β· Spring Boot Β· Maven
- Hexagonal / Ports and Adapters architecture separating domain logic from infrastructure
- Multiple gameplay variations including different dice systems, movement rules, player counts, and board mechanics
- Replayable games using abstracted dice and persistence adapters
- Repository abstraction with in-memory storage and persistence adapters
- Factory, Strategy, Decorator, State, Observer, and Repository design patterns
- Strong focus on SOLID principles and dependency inversion
Full-stack vehicle marketplace with a Vue frontend and separate Node/Express backend API.
Stack Β· Vue Β· Vite Β· Node.js Β· Express Β· SQLite Β· Joi Β· Mocha Β· Chai
- Separate client and server architecture with a Vue frontend and Express API
- Vehicle marketplace functionality for browsing and managing listings
- Server-side request validation using Joi
- SQLite database integration with dedicated backend data handling
- Automated backend testing with Mocha, Chai, and Chai HTTP
- CORS, logging, and development tooling with Morgan and Nodemon
2D arcade game built with Processing where the player controls a fish, collects food, and avoids enemy puffer fish.
Stack Β· Java Β· Processing
- Real-time keyboard-controlled player movement
- Collision detection between the player, food, and enemies
- Score-based gameplay loop with increasing player objectives
- Object-oriented game structure for player, food, and enemy entities
- Developed as a university project




