Offer-Driven Food Ordering (Micronaut + DSML)
Production-style system with two Micronaut 4 microservices — Order Management and Product Management —
each with its own MariaDB and OpenAPI docs. Orders publish events to Kafka; PM consumes them to maintain per-product
day counts and applies marketing offers at pricing time. Everything runs via Docker Compose, with unit + end-to-end tests.
A visual DSML (Eclipse Sirius) lets non-engineers author offers; EVL validates models and EGX/EGL generate the Java rule
engine integrated into PM.
Micronaut 4JavaKafka
MariaDBDocker ComposeOpenAPI
Eclipse SiriusEVLEGX/EGL
Case study ·
Code ·
Flowers-102 CNN Classification
Built and trained a compact CNN for 102-class flower recognition. Two conv blocks with ELU, BatchNorm, and MaxPool, plus dropout and FC layers;
optimized with Adam and a cyclic learning-rate schedule. Heavy augmentation (flip/rotate/jitter/affine/grayscale) to improve generalization.
Final test accuracy: 48.74%.
Python
PyTorch
ELU
BatchNorm
CyclicLR
Code ·
Report (PDF)
Heslington Hustle — Campus Life Game (Java/LibGDX)
Team-built Java 11 game where players manage energy, study, and recreation across a 7-day loop on a
campus map. Implemented avatar movement, interactables, energy bar, day/night cycle, leaderboard, and a
tutorial based on user testing. Tech stack includes LibGDX, Tiled maps, Gradle builds, and GitHub Actions
CI with JUnit + JaCoCo.
Java 11LibGDXTiled
GradleGitHub ActionsJUnit
JaCoCoUML
Case study ·
Code (Repo 1) ·
Code (Repo 2) ·