Skip to content
MedCase.

About the project

A graduation project, built as a team of two.

MedCase was developed as a Computer Engineering graduation project at Gazi University.

01

Background

The goal was an end-to-end platform covering case creation, assignment, answering, AI-assisted evaluation and teacher review. The project grew in stages: authentication and case management, an AI evaluation engine, a retrieval pipeline, classroom features, then later additions such as image analysis, a mobile app and push notifications.

02

Team

MedCase was built by two developers: Mücahid Sezgin Arslan and Hüseyin Öz. All clinical content is synthetic or educational; no real patient data is used.

03

My contributions

Work from late September 2026 onward (for example authorization, Google sign-in, image analysis, tumor grading, push notifications, the mobile app and CI) was developed in pair with an AI coding assistant, Claude Code. I specified, reviewed and integrated that work.

Backend development
  • Layered Spring Boot service: domain, repositories, services, controllers
  • Classrooms, multi-class assignments and student profiles
  • Case generation, Markdown case service, independent practice, answer-gated solutions
  • Soft delete, progress statistics, tumor grading calculators, push notification events
API design
  • REST resources and DTO layer (about 120 endpoint mappings)
  • Consistent error model with a global exception handler
  • OpenAPI documentation
Database integration
  • MongoDB document model and Spring Data repositories
  • GridFS image storage and image extraction from PDFs
  • Embedding chunk storage for retrieval
Authentication and authorization
  • Registration, login and token refresh integrated with Keycloak; realm configuration
  • Google sign-in with first-login profile completion and admin-approved teachers
  • Per-case authorization annotation and aspect; role and ownership hardening with security tests
  • PKCE client for the mobile app
AI integration
  • Claude-based evaluation engine with teacher review
  • Retrieval pipeline with local Ollama embeddings
  • Two-stage multi-case PDF import
  • Shared Claude client with prompt caching and usage logging; image analysis; TR/EN case translation
Frontend development
  • Single-file web application for teachers and students
  • Expo / React Native student app with push registration
Infrastructure and process
  • Docker Compose setup with CPU, NVIDIA and AMD Ollama profiles; Gradle build; backup script
  • GitHub Actions CI and Testcontainers-based test infrastructure
  • Backlog and sprint planning; integration of pull requests
04

Hüseyin Öz

  • Endpoint for listing student submissions of an assignment
  • User and classroom service changes
  • Local configuration adjustments (Docker Compose, Keycloak realm, application settings)
05

Technology

Java 21Spring Boot 4.0.3GradleSpring SecuritySpring AOPApache PDFBoxspringdoc-openapiSingle HTML fileReact 18In-browser BabelExpoReact Nativeexpo-routerTanStack QueryMongoDB 8GridFSKeycloak 24OIDC and PKCEGoogle identity providerAnthropic Claude APIOllamanomic-embed-textDocker ComposeCPU, NVIDIA and AMD profilesExpo Push serviceJUnit 5Spring Security testTestcontainers (MongoDB)