Estatly
Real-estate marketplace kit to buy, rent and sell property, with map search and verified listings.

// overview
About Estatly
Estatly is a ready-to-run property marketplace. You get the mobile app for buyers, renters, owners and agents (Flutter, Android and iOS), the website, the admin panel, the API and the background worker (Next.js, PostgreSQL). Put your own keys in .env, run docker compose up -d, finish the install wizard, and the marketplace is live with sample homes, new-build projects, agents and neighbourhoods.
Live preview and demo app
- Website and admin: open the live demo. Sign-in has one-click demo buttons (no passwords): As owner, As agent, and Open the demo admin (read-only) on
/admin. - Android app: download the demo APK
- Documentation: read the full docs online (also in the download, as HTML and PDF)
Mobile app (Flutter)
- Onboarding, city picker, sign-in with Google, Apple, phone number or as a guest
- Home with property types, admin-managed banners, featured homes and new-build projects
- Search with filters, draw on the map, homes near me, saved searches with alerts
- Listing pages with photo gallery, video tour, price history, mortgage calculator, neighbourhood scores and commute times
- Compare homes side by side; book a visit in person, by video call or at an open house
- Chat with agents and owners; saved homes with price-drop alerts; visit calendar
- New-build projects with construction progress and floor plans
- Agent profiles with ratings, listings and reviews
- 8-step posting wizard with an AI description writer, listing stats, packages and boosts
- ID verification for owners and agents, and the Verified badge
- Notifications inbox, quiet hours, articles, help and support, account deletion; light and dark themes
Website (Next.js)
- Home, map search with list and map side by side, listing pages, projects, agents, blog and pricing
- Account area: my listings, saved homes and searches, visits, messages, plan and billing, settings
- Post a property from the browser; Stripe Checkout for packages and boosts
- Works inside an iframe (one-click demo sign-in without third-party cookies)
Admin panel
- Dashboard; listing review queue with approve, feature or reject with a reason; reports and take-downs
- Property types, custom fields and facilities; new-build projects with floor plans; CSV import
- Agents and owners, ID verification with a checklist, customers, enquiries and visit requests
- Packages and boosts, payments with refunds and bank transfer approval
- Cities with neighbourhoods drawn on the map and their scores; banners, articles and push campaigns
- Staff roles with a permission matrix and activity log; settings for brand, region, listings, maps, sign-in, e-mail
- A Setup check that tests every key and service
Built to be easy to own
- Only your keys: every outside service has a working default. Without RevenueCat or Stripe keys, packages and boosts run in a clearly labelled demo mode; without SMTP, e-mails go to the log; files go to the bundled MinIO storage; maps and address search use OpenStreetMap; the AI writer has a built-in fallback.
- One command: Docker Compose starts the website, API, worker, PostgreSQL and file storage; migrations run on every start. Optional automatic HTTPS with Caddy.
- Install wizard creates your admin account, sets your marketplace name, currency and units, and loads the sample marketplace or just your first city.
- Rename tool: one command changes the app name, the Android / iOS package id, the brand colour, the website font and the icon.
- Clean code:
flutter analyzeshows 0 issues; Riverpod state, go_router navigation, lazy.builderlists; TypeScript strict mode with Biome on the web side; automated API and browser tests. - Documentation for beginners: server setup, Firebase, the app, payments, push, maps, AI, e-mail, renaming, icons and colours, every key explained, file structure, publishing to the stores, FAQ.
Requirements
- A Linux server (2 CPU, 4 GB RAM) with Docker, and a domain name
- Flutter 3.44 or newer with Android Studio; a Mac with Xcode for iOS builds
- A free Firebase project (sign-in and push notifications)
- Node.js 22 for the rename tool
Services you can connect (all optional except Firebase)
- Firebase — Authentication and Cloud Messaging
- RevenueCat — in-app purchases on the App Store and Google Play
- Stripe — card payments on the website (Checkout)
- Google Geocoding API — address search (OpenStreetMap is the free default)
- A map tile provider such as MapTiler or Mapbox for production traffic
- Any OpenAI-compatible AI API for the description writer
- Any SMTP e-mail service; AWS S3 or Cloudflare R2 instead of the bundled MinIO
What is in the download
estatly_mobile_flutter/— the appestatly_web_nextjs/— website, admin, API and workerdeploy/— Docker Compose stack and.env.example;tools/— rename tooldocs/— documentation (HTML and PDF), licence and changelog
Preview-only
The property photos on the live demo and in the screenshots are for preview only and are not included; the download has labelled placeholder images in their place. The sample listings, people and reviews are fictional. The Android demo APK connects to our demo server; build the app with your own Firebase project and server address.
// features
What's included
- Flutter app for buyers, renters, owners and agents, a website, an admin panel and the API
- Map search with draw-on-the-map, filters and saved searches with alerts
- Listing pages with gallery, video tour, price history, mortgage calculator and neighbourhood scores
- Book visits in person, by video call or at an open house; chat with agents
- New-build projects with construction progress and floor plans
- 8-step posting wizard with an AI description writer, packages and boosts
- ID verification and a Verified badge for owners and agents
- Admin listing review, neighbourhoods drawn on the map and a Setup check
- One Docker command to install, one command to rename and rebrand
Compatibility & tags
Changelog
v1.0.0 · 2026-10-07
- First release.
// faq
Questions about Estatly
Yes. You get the Flutter app code, the Next.js website, admin panel and API, the database schema and migrations, the Docker setup, the rename tool and the documentation. You run it on your own server with your own Firebase project.
Yes. The [live demo](https://estatly-demo.apps.codememory.com) has one-click demo sign-in for each role, no passwords needed. You can also [download the Android demo app](https://estatly-demo.apps.codememory.com/downloads/estatly-demo.apk).
Yes. Every outside service has a working default: payments run in a clearly labelled demo mode, e-mails go to the log and files go to the bundled storage. Add each key when you are ready.
A Linux server (2 CPU, 4 GB RAM) with Docker and a domain name, Flutter 3.44 or newer with Android Studio, a Mac with Xcode for iOS builds, and a free Firebase project for sign-in and push.
Yes. Our [app kit install](/services/app-kit-install) service sets it up on your server, and [Flutter App from a Kit](/services/flutter-app-customisation) rebrands the apps and publishes them to the App Store and Google Play under your name.
You might also like
all_flutter
FlutterReelSaga
Short drama streaming app kit: vertical episodes, coins, VIP and choose-the-ending stories, with a website, Creator Studio and admin panel.
FlutterDashly
Food, grocery and pharmacy delivery platform: customer and rider apps, website, store panel and admin, with a single-restaurant mode.
FlutterSwapsy
Classifieds app kit to buy, sell and swap locally, with offers and counter-offers inside chat.