Skip to content

Repository files navigation

Property Management System

A desktop application for managing properties, owners, clients, rental contracts, sale contracts, installments, and payments.

The project focuses on clean separation between the UI, business logic, and data access layers while implementing real property-management workflows and business rules.

Features

  • Manage owners, clients, properties, and units.
  • Create and manage rental and sale contracts.
  • Generate rental installments and record payments.
  • Validate contract conflicts and payment limits.
  • User authentication with BCrypt password hashing.
  • Dashboard with key system information.
  • Search, filtering, pagination, and status-based views.

Architecture

The solution follows a simple 3-Tier Architecture:

PropertyManagement_UI
        ↓
PropertyManagement_BLL
        ↓
PropertyManagement_DAL
        ↓
SQL Server
  • UI Layer — Windows Forms screens and user interaction.
  • Business Logic Layer — validation and business rules.
  • Data Access Layer — database operations using ADO.NET.
  • Database — SQL Server relational database.

The structure keeps UI logic, business rules, and database access separated without introducing unnecessary abstraction.

Technologies

  • C#
  • .NET Framework 4.8
  • Windows Forms
  • SQL Server
  • ADO.NET
  • AntdUI
  • BCrypt.Net-Next
  • Microsoft WebView2

Technical Highlights

  • Parameterized SQL queries for database operations.
  • Transactional creation of rental contracts and their installments.
  • Business validation for rental and sale conflicts.
  • Payment validation against the remaining installment balance.
  • BCrypt password hashing for user authentication.
  • Reusable pagination, search, refresh, and table helpers.
  • Property location display using coordinates and WebView2.
  • Database lookup tables designed with Arabic and English values.

Screenshots

Login

Login

Dashboard

Dashboard

Properties

Properties

Rental Contract Details

Rental Contract Details

Rental Payment

Rental Payment

Sale Contract Details

Sale Contract Details

Database

The Database folder contains two scripts:

Database/
├── PropertyManagementDB.sql
└── Seed.sql

PropertyManagementDB.sql

Creates the database schema, tables, relationships, keys, constraints, and indexes required by the application.

Seed.sql

Adds the reference data required to run the system, including items such as:

  • Roles
  • Contract statuses
  • Payment methods
  • Property categories
  • Property features
  • Air-conditioning types
  • Countries
  • Cities
  • Districts
  • Demo administrator account

Transactional sample data such as owners, clients, properties, contracts, installments, and payments are intentionally not included.

Getting Started

Requirements

  • Windows
  • Visual Studio 2022
  • .NET Framework 4.8
  • SQL Server
  • SQL Server Management Studio

Setup

  1. Clone or download the repository.

  2. Open SQL Server Management Studio.

  3. Run:

    Database/PropertyManagementDB.sql
    
  4. After the schema is created, run:

    Database/Seed.sql
    
  5. Open:

    PropertyManagement.sln
    
  6. Restore the NuGet packages if Visual Studio does not restore them automatically.

  7. Make sure the UI project is the startup project.

  8. Run the application.

The default connection string uses a local SQL Server instance with Windows Authentication:

Data Source=.;Initial Catalog=PropertyManagementDB;Integrated Security=True;

If your SQL Server instance is different, update PropertyManagement/App.config.

Demo Login

Username: admin
Password: admin!

The demo password is stored in the database as a BCrypt hash.

Project Structure

PropertyManagement/
│
├── Database/
│   ├── PropertyManagementDB.sql
│   └── Seed.sql
│
├── Screenshots/
│
├── PropertyManagement/
│   └── Windows Forms UI
│
├── PropertyManagement_BLL/
│   └── Business logic and validation
│
├── PropertyManagement_DAL/
│   └── ADO.NET database access
│
├── PropertyManagement.sln
├── .gitignore
└── .gitattributes

Version

Version 1.0

Contact

About

Desktop property management system built with C#, WinForms, SQL Server, and 3-Tier Architecture.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages