Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

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.

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

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

pascal
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.md

Main 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

  1. Requirements: Delphi (e.g. 7 or later) with IntraWeb and ADO support installed.
  2. Open: BankAmlak.dpr (standalone) or Project1.dpr (ISAPI).
  3. Database: Configure the ADO connection in UserSessionUnit to point to your database.
  4. Standalone: Build and run; the server form starts the HTTP listener (see port in ServerMain); open the shown URL in a browser.
  5. 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.