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

LevelEstate multi-platform interface mockup showing the Angular web portal and Android mobile app
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.
- 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
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.
- 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
Tech Stack & Infrastructure
Project Diagrams & Interfaces

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

Domain entity class diagram illustrating Property, User, Visit, Chat, and Gamification relations

Backend service layer diagram showing decoupled business services and repository abstractions

Property lifecycle state machine (Available, Unavailable, Sold, Leased, Archived)

Real-time WebSockets messaging sequence diagram for chat and visit scheduling

Entity-Relationship database model for SQL Server