Yusuf Burak PEKER
Back to CV

Work · Hyundai

Hyundai Painting Competition

Public site and judging back office for a children's painting competition

My role

Full-Stack Developer

Status

Live

Live site Client project — source code and internal details are not public.

Overview

Parents submit their children's artwork on a bilingual public site; administrators, pre-evaluators and the jury then check eligibility and score each painting in a Razor Pages back office. The site also publishes awards, the jury, previous winners and yearly exhibitions.

The problem

Collecting many submissions with consent forms and running a two-stage evaluation every year by hand is slow and error-prone.

Key features

  • Bilingual (TR/EN) public site: awards, jury, FAQ, video, exhibitions and previous winners
  • Application form with artwork upload, file-size and type limits, consent and age categories
  • Pre-check stage with an eligibility checklist
  • Jury scoring against configurable criteria
  • Content management for awards, winners, jury, exhibitions, FAQ and translations
  • Statistics dashboard with filters and Excel export

Architecture

  • .NET 9 Web API with a Razor Pages admin area and EF Core on SQL Server
  • React (Vite) public site
  • JWT for the API, cookie authentication for the admin area and role-based access for admins, pre-evaluators and jury
  • Rate limiting and security headers on public endpoints
  • Azure DevOps pipelines that build on Linux and deploy to IIS

Technical challenges

  • Two-stage judging with criteria that change from year to year
  • Translations that default to the frontend's files but can be overridden from the admin panel

Tech stack

.NET 9ASP.NET CoreRazor PagesEntity Framework CoreSQL ServerJWTReactViteTailwind CSSAzure DevOpsIIS