Work
Academic Group Project·2026·4 Milestones / 2-week Sprints

LevelEstate - Gamified Real Estate Platform

Full-stack gamified real estate platform featuring an ASP.NET Core 8 Web API with WebSockets, an Angular 19 web portal with Mapbox geospatial search, a native Android app in Kotlin with Jetpack Compose, Quartz.NET background scoring jobs, and automated GitLab CI/CD pipelines.

Section 01

Gamifying real estate transactions and client-agent engagement.

Developed for Software Development Laboratory (LDS) at Politécnico do Porto, LevelEstate connects Real Estate Agents and Clients through gamification mechanics (leaderboards, points, and achievement badges) to incentivize agent performance.

The platform comprises three distinct codebases: an ASP.NET Core 8 REST & WebSockets API (Entity Framework Core 9, SQL Server, Quartz.NET jobs), an Angular 19 Web Portal (TailwindCSS 4, DaisyUI 5, Mapbox GL JS 3.16 for bounding-box search), and a native Android App (Kotlin, Jetpack Compose, Room SQLite, Retrofit 2, FCM notifications).

3Multiplatform Codebases (.NET, Angular, Kotlin)
4Quartz.NET Automated Jobs
WebSocketsLive Chat & Real-Time Notifications
GitLab CIFull Build, Test & E2E Pipeline
LevelEstate - Gamified Real Estate Platform

LevelEstate multi-platform interface mockup showing the Angular web portal and Android mobile app

Section 02

The Problem & Key Challenges

Traditional real estate platforms lack interactive engagement mechanisms for agents and suffer from delayed client-agent communications and rigid search filters.

LevelEstate solves this by introducing real-time WebSockets communication, Mapbox spatial bounding-box filtering, automated background scoring engines, and cross-platform native experiences.

Key Engineering Challenges
  • Implementing native ASP.NET Core 8 WebSockets endpoints (/ws/chat, /ws/chatHistory, /ws/notifications) for zero-latency messaging
  • Configuring Quartz.NET background jobs (ConvertPointsJob, BadgeAssignmentJob, CreateRankingJob) for daily point consolidation and monthly agent rankings
  • Integrating Mapbox GL JS and Turf.js in Angular 19 to enable bounding-box property boundaries search and geodesic polygon calculations
  • Building a native Android app in Kotlin with Jetpack Compose, Room SQLite offline cache, and Firebase Cloud Messaging
  • Setting up automated GitLab CI/CD pipelines executing xUnit backend tests, Postman/Newman integration tests, Selenium Python E2E tests, and JaCoCo coverage reports
Section 03

Architecture & Technical Decisions

Domain-oriented multi-tier architecture with an ASP.NET Core 8 REST & WebSockets API, decoupled Angular 19 Web Portal, native Android Kotlin App, and SQL Server database.

System Topology & Component Flow Diagram
Loading architecture topology...
Why This Architecture
  • Domain-driven monolithic API structure balances maintainability with atomic SQL Server transactions
  • Native WebSockets streaming eliminates HTTP polling overhead for real-time chat and push notifications
  • Dedicated native Android client leverages Jetpack Compose and local Room cache for optimal mobile UX
Section 04

Tech Stack & Infrastructure

.NET.NET C#
AngularAngular
KotlinKotlin
SQL Server
Socket.ioSockets