Genesis logo: a green nine-pointed badge next to the Genesis wordmark, with the INKEA logo in the corner

Adria

A gamified learning platform: courses, XP, leaderboards and a cosmetics shop. A Vue PWA on a .NET 8 API, built as a school project in 2025.

Client on GitHub Server on GitHub Gallery (3)

Technologies

  • C#
  • Vue
  • .NET 8
  • MySQL
  • Docker
  • Vitest
  • SonarQube
  • GitLab CI

Architecture

API
.NET 8 WebAPI on Clean Architecture. Documented with Swagger.
Modules
Users, courses, cosmetics, subscriptions and push notifications.
Client
Vue 3 with Vue Router and Pinia. Installable as a PWA. API calls go through a data-connector layer.
Push
Web push from the server, plus device vibration on the client.
Deployment
Docker for the client (Nginx) and the MySQL database, built in GitLab CI.
Quality
Unit tests on the domain and application layers, Vitest on the client, SonarQube in CI.

Features

Learning

Vue · .NET

  • Course player with difficulty levels from Easy to Expert
  • Dashboard with progress tracking

Progression

Vue · .NET

  • XP and badges
  • Leaderboards
  • Cosmetics shop

Accounts

Vue · .NET · MySQL

  • Onboarding and settings
  • Subscription checkout
  • Push notifications