About the project
A graduation project, built as a team of two.
MedCase was developed as a Computer Engineering graduation project at Gazi University.
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.
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.
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
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)