real-estate-web-system-delphi-intraweb
Design and Implementation of a Real Estate Web System — B.Sc. in Computer Engineering (Software), Yazd University, Iran (2002–2005). Delphi + IntraWeb + ADO. Features: property search by location/type, listing submission, user registration & roles (admin, owner, agency, buyer), contact form, regulations & agency pages.
- Active · last change 2-25-2026
- ★ 1 on GitHub
README
Real Estate Web System (Bank Amlak)
A web-based real estate information system designed and implemented as a B.Sc. thesis in Computer Engineering (Software) at Yazd University, Yazd, Iran (2002–2005). The project was built with Borland Delphi and IntraWeb, a then-new technology for building web applications in Delphi.
Authors
- Mehdi Dehghani Firoozabadi
- Azadeh Soleimaninejad
Thesis title: Design and Implementation of a Real Estate Web System
Supervisor: Dr. Majid Nickzar (Yazd University)
Overview
This application is an informational real estate (املاک) website that allows users to:
- Search properties by location (province/Ostan, county/Shahrestan, region), property type (KindOfMelk), and transaction type (KindOfBemanzoore)
- Submit property listings (Sepordan) after logging in, with full details: area, floors, amenities, address, documents, photos, and optional video
- Register as new users (owners, buyers, agencies, photographers) and log in with role-based access
- Contact the site via a contact form; administrators can view and manage contact messages
- Browse regulations and laws (Ghavanin) and agency information (Ajans)
The UI is in Persian (Farsi) and uses a frame-based navigation model with session state managed by IntraWeb.
Technology Stack
| Component | Technology |
|---|---|
| Language | Object Pascal (Delphi) |
| Web framework | IntraWeb (TIWAppForm, IWServerController, IWUserSession) |
| Database access | ADO (TADOConnection, TADOTable, TADODataSet) |
| Server modes | Standalone HTTP server (IWStandAloneServer) or ISAPI |
The project targets Delphi with IntraWeb as available around 2005 (e.g. VER180 resource hints in the codebase).
Project Structure
real-estate-web-system-delphi-intraweb/
????????? scr/
??? ????????? BankAmlak.dpr # Main program (standalone HTTP server)
??? ????????? Project1.dpr # Alternative entry (ISAPI deployment)
??? ????????? ServerMain.pas/dfm # Standalone server form (port, SSL, session stats)
??? ????????? ServerController.pas # IW server controller & session creation
??? ????????? UserSessionUnit.pas # Per-user session, DB tables, frame navigation
??? ????????? Main.pas/dfm # Main IntraWeb form (menu, regions, frames)
??? ????????? TypeNew.pas # Enums: user kinds, frame IDs
??? ????????? Login.pas/dfm # Login / logout / new user
??? ????????? SearchSimple.pas/dfm # Property search (location, type, transaction)
??? ????????? Sepordan.pas/dfm # Property submission/edit (Melk, Address, photos)
??? ????????? UserInfo.pas/dfm # New user registration
??? ????????? Contact.pas/dfm # Contact form (comments)
??? ????????? ViewContact.pas/dfm # Admin: view contact messages
??? ????????? UsersFrame.pas/dfm # Admin: users management
??? ????????? Ghavanin.pas/dfm # Laws/regulations (text content)
??? ????????? Ajans.pas/dfm # Agencies list/detail
??? ????????? About.pas/dfm # About page
??? ????????? FrameAddress.pas/dfm # Shared address (Ostan/Shahrestan/Region/Street)
??? ????????? Component.dpk # Delphi package for components
??? ????????? IWLabelM.pas # Custom IntraWeb label component
??? ????????? IWButtontest.pas # Test unit for buttons (legacy)
??? ????????? UpToMenu.bmp # UI bitmap asset
??? ????????? zlib.dll # Dependency used by the application
????????? Files/ # Static assets (images, JS, Ghavanin texts)
????????? ModelSupport/ # Model/config files (e.g. txvpck)
????????? Data/ # Database files (MDF/LDF)
????????? README.mdMain Features
- User roles (from
TypeNew.pas): Master (admin), Malek (owner), Photographer, Ajans (agency), Kharidar (buyer), Anonymous - Property (Melk) data: kind, area (Zirbana), floors, bedrooms, amenities (parking, elevator, heating, etc.), address linkage, document status, description, photos, optional video
- Address hierarchy: Ostan → Shahrestan → Region, plus Street (stored and used in search and Sepordan)
- Session-based UI: Frames (About, Search, Sepordan, Contact, etc.) are shown/hidden via
UserSession.GotoFrame/HideCurrentFrame - Standalone server: Configurable port, optional SSL, browser detection, session and traffic stats (see
ServerMain.pas)
Database
The application uses ADO with tables such as:
- User & auth: User, KindOfUser
- Geography: Ostan, ShahrestanOfOstan, RegionOfShahrestan, StreetOfShahrestan, Address
- Property: Melk, KindOfMelk, KindOfBemanzoore, Nama, SanadStatus, JavazeSakht, Kaf, Cabinet, ServiceBehdshti, SystemAir, SystemHeat, VazeyateJoghrafiyai
- Media: MelkPic, MelkFilm
- Other: Comment (contact messages), Request, etc.
Connection and table names are configured in UserSessionUnit (TADOConnection and TADOTable components). You need a compatible ADO data source (e.g. Microsoft Access or SQL Server) and to set the connection string to your environment.
Building and Running
- Requirements: Delphi (e.g. 7 or later) with IntraWeb and ADO support installed.
- Open:
BankAmlak.dpr(standalone) orProject1.dpr(ISAPI). - Database: Configure the ADO connection in
UserSessionUnitto point to your database. - Standalone: Build and run; the server form starts the HTTP listener (see port in
ServerMain); open the shown URL in a browser. - ISAPI: Build and deploy the produced DLL to an IIS (or compatible) application that supports ISAPI.
License and Academic Use
This repository is kept for historical and academic reference as a B.Sc. thesis project. It is not actively maintained. Use and adaptation are at your own responsibility; consider the age of the stack (Delphi, IntraWeb, ADO) and your environment before reuse.
References
- IntraWeb: web application framework for Delphi (early 2000s).
- Thesis: Design and Implementation of a Real Estate Web System, Yazd University, 2002–2005.

