DEV Community

Cover image for From Microservices to Monetization: Building a Real Estate Platform the Right Way
Mani Movassagh
Mani Movassagh

Posted on

From Microservices to Monetization: Building a Real Estate Platform the Right Way

Intro Section:

After 15 years in software development and test automation, I decided to build something of my own — a real estate (Immobilien) platform tailored for the German market.

The idea was to combine what I know best: robust backend architecture, modern TypeScript frontends, and secure authentication — all designed from the ground up for monetization.

This article walks through the architectural decisions, technical challenges, and hard-earned lessons that shaped the platform.

🧱 Why Microservices?

I started with one clear goal: keep things clean and scalable. The platform includes:
• 🏘️ Multiple property types (house, apartment, garden…)
• 📦 Listings for rent and purchase
• 📸 File uploads for property photos
• 🧭 Address-to-Geo translation (lat/lng)
• 🔐 Secure login with role-based access

So I split it into microservices:
• property-service: manages property-related data
• auth-service: authentication via Keycloak
• geo-service: converts addresses into coordinates
• upload-service: handles image/file storage in PostgreSQL
• gateway-service: central API routing via Spring Cloud Gateway

⚙️ Key Technical Choices

UUIDs for IDs:
Avoided collisions and made frontend caching simpler.

Database Design:
Separate tables for property types (Apartment, House, etc.) and for listing types (Rent, Buy) for performance.

File Uploads in PostgreSQL:
No S3 — I stored images using bytea in PostgreSQL. It’s fast and GDPR-friendly for MVP stage.

Keycloak Auth:
It powers:
• Login/Signup
• RBAC (Admin, Agent, User)
• JWT-secured APIs

DevOps with ECS + Terraform:
Everything runs in Docker containers on ECS.
Infrastructure is built using Terraform (VPCs, services, secrets).

🖼️ Frontend Stack
• Next.js + TypeScript
• Tailwind CSS
• Geoapify for address autocomplete
• Access tokens from Keycloak for secure API use

💡 Lessons Learned
• Don’t overgeneralize — real estate data is domain-specific
• Start with a Gateway service — saves major refactoring later
• Separate out audit/analytics early
• Keycloak is great but painful to customize

🚀 What’s Next?
• 💳 Integrate Stripe for paid listings
• 🔔 Notify users of search matches
• 📊 Add analytics microservice
• 🗺️ Improve map-based UX

✌ Final Thoughts

If you’re considering building your own SaaS — go for it.
Start small, think in services, and build around real use cases.

I’m not just building a side project. I’m building a real app.
You can too.

Need Help?

Want to chat tech, design, or growth?
Drop a comment — let’s connect!

Top comments (0)