Tregu i Pronave
A production real-estate marketplace for Albania, built around property discovery, publishing, agency workflows and platform operations.
Visit the live project →Tregu i Pronave is a full-stack real-estate marketplace built for a client targeting the Albanian property market. I built the platform to bring property discovery, listing publication, professional profiles, enquiries and operational administration into one bilingual product for individuals, agencies and construction companies. The result is a live production platform rather than a simple property-marketing website.
The marketplace homepage combines property search, sale and rent entry points, publishing and agency discovery.
A marketplace with more than one side
The platform needed to support more than a public property catalogue. People searching for homes need a clear route from discovery to a publisher, while individual sellers and professional publishers need tools to publish and manage inventory. Administrators need visibility and controls over the platform behind those public journeys.
Property discovery → listing detail → publisher → direct contact or enquiry.
Account → listing publication → management → enquiries → refresh and moderation lifecycle.
Property discovery
Search is built around sale and rental listings, property categories, city and area, publisher type, price, size, bedrooms, bathrooms and floor ranges. Visitors can also use keyword search, sorting and pagination, while filter state remains shareable through the URL. Signed-in users can save properties for later.
These filters are applied through the server API and database query layer, not only in the browser. This keeps the public discovery experience connected to the underlying marketplace data as the catalogue changes.
From listing detail to contact
Each listing brings an image gallery, structured real-estate attributes, location, publisher identity and available contact options together on one detail page. Where coordinates are available, the listing can also show its map location. The journey is designed to help a visitor understand a property, identify the publisher and make contact without presenting the platform as a transaction or payment system.
Property detail connects rich listing information with publisher identity, direct contact and an enquiry action.
Built for professional publishers too
Tregu i Pronave supports individual accounts alongside real-estate agencies and construction companies. Professional publishers can have a public presence with profile imagery or logos, configured external links and their own listing catalogue. The public agency directory makes those publisher profiles part of discovery instead of leaving the marketplace as a collection of isolated classified listings.
Agency discovery gives professional publishers a visible marketplace surface alongside their listings.
Operational workspace for publishers
Authenticated users have a workspace rather than only a public profile page. From there, publishers can post properties, manage and refresh listings, edit their profile, review saved listings and handle incoming enquiries. Authorized users can also reach the administrative surface through role-aware navigation.
The authenticated workspace separates the seller and publisher workflow from the public marketplace.
Location and reference tools
Maps are used to capture and communicate location, rather than as a map-first result browser. Listing publication includes a Google Maps location picker with Places autocomplete, geocoding, browser geolocation and draggable or clickable position selection. Latitude and longitude are stored with listings, while Albanian municipality and city polygons and Tirana zone logic support location resolution and a separate reference-map experience.
Location capture, polygon-based reference zones and publisher onboarding extend the platform beyond basic listing fields.
A real listing lifecycle
Listings have an operational lifecycle beyond basic create, edit and delete actions. The implementation separates publication state from moderation state and supports publication, expiry, refresh, suspension, change requests, boosts, restoration and deletion. That gives publishers and administrators distinct responsibilities as listings move through the platform.
Operations behind the marketplace
The administrative surface supports platform statistics, user and listing management, listing search and filtering, moderation, approval workflows, requests for changes, suspension and restoration. It also covers listing refreshes and boosts, boost management, enquiry overview, scheduled bilingual homepage banners and moderation history, with a root and administrator permission hierarchy.
Administration and moderation tooling make the product an operational platform as well as a public marketplace.
Enquiries, media and production foundations
The enquiry flow persists a visitor enquiry against a listing and surfaces it in the publisher inbox, where it can be tracked as contacted or archived. A publisher can also offer direct phone or WhatsApp contact where configured. This is lead capture and seller enquiry management, not an in-app chat or full CRM.
Property imagery is treated as a product capability. Authenticated uploads are validated and limited before Sharp processes responsive WebP variants for S3-compatible storage. Replaced media can be cleaned up as the listing changes.
The platform also includes catalogue SEO foundations for a Vite single-page application: property slugs, canonical and social metadata, structured property and breadcrumb data, a dynamic sitemap, robots rules and internal city and category links. Public and operational interfaces support Albanian and English, with bilingual content infrastructure for homepage banners and metadata where applicable.
Technical overview
- React 19, TypeScript and Vite for the marketplace, account dashboards and admin UI.
- React Router and TanStack React Query for routing, API state and mutation workflows.
- Node.js and Express REST API for marketplace and operational business logic.
- PostgreSQL and Prisma for users, listings, media, saves, enquiries, sessions and moderation state.
- JWT authentication with persisted refresh-session rotation and server-side role authorization.
- S3-compatible object storage and Sharp-powered responsive WebP image processing.
- Google Maps and Places plus custom Albanian and Tirana polygon-based location logic.
- Zod validation, rate limiting, background expiry jobs, structured logging, CI and health checks.
Production activity
Early production metrics, recorded within the first few weeks after launch. Rounded figures from an initial analytics snapshot — not live totals, which are likely higher today.
Engineering safeguards
Server-side role checks, request validation, password hashing and rotating persisted refresh sessions support account and publisher workflows. Sensitive and public endpoints use rate limiting, while uploads have validation and processing limits. Structured errors, logging, health endpoints and scheduled expiry processing support the platform in operation.