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.
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