Bu proje, C# Apartman Yönetim Sistemi Otomasyonu Windows Forms ve SQL Server kullanılarak geliştirilmiş kapsamlı bir Apartman Yönetim Sistemi Otomasyonudur. Sistem, apartman yönetim süreçlerini dijitalleştirmek ve merkezi bir yapı üzerinden kontrol etmek amacıyla tasarlanmıştır.
Proje Hakkında
C# Apartman Yönetim Sistemi; çok kullanıcı destekli, rol bazlı yetkilendirme içeren ve yönetim süreçlerini kolaylaştıran bir masaüstü uygulamasıdır. Admin, Apartman Yöneticisi ve Sakin olmak üzere üç farklı kullanıcı tipi bulunmaktadır.

C# Apartman Yönetim Sistemi Özellikleri
- 3 farklı kullanıcı girişi: Admin, Apartman Yöneticisi, Sakin
- MDI Form yapısı ile dinamik ekran yönetimi
- SQL Server veritabanı entegrasyonu
- Rol bazlı yetkilendirme sistemi
- Dinamik apartman ve daire oluşturma sistemi
- Gelir – gider ve borç takibi modülleri
- Log kayıt sistemi ile işlem takibi
Kullanılan Teknolojiler
- C# Windows Forms
- Microsoft SQL Server
- MDI Form Yapısı
- ADO.NET
Veritabanı Yapısı
Sistem aşağıdaki temel tablolardan oluşmaktadır:
- apartman_islemleri
- borc_tipi
- borclar
- daire
- gelirler
- giderler
- kullanici
- yetki
- log
- odenen
C# Apartman Yönetim Sistemi Kurulumu
1.Adım: Projemizi bilgisayarımıza indiriyoruz.Ardından masaüstüne çıkarıyoruz.Şunu unutmayalım .Bilgisayarımızda visual studio ve sql server kurulu olması gerekiyor. Apartman Yönetim Sistemi Otomasyonunu İndir !Projelerimizi takip etmeyi unutmayın 🙂
2.Adım: Sql Serverimizi açıyoruz.Ardından apartman adında veritabanı oluşturuyoruz.Ardından sql server yukarıda ki butondan New Query diyoruz.Ve sırasıyla Alttaki Kodları Çalıştırıyoruz.
apartman_isimleri adlı tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[apartman_islemleri] Script Date: 25.02.2020 01:19:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[apartman_islemleri](
[id] [int] IDENTITY(1,1) NOT NULL,
[apartman_adi] [nvarchar](50) NULL,
[blok] [nvarchar](50) NULL,
[adres] [nvarchar](150) NULL,
[daire_sayisi] [tinyint] NULL,
[yonetici_id] [int] NULL,
CONSTRAINT [PK_apartman_islemleri] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
borc_tipi adlı talomuzu oluşturuyoruz.
USE [apartman]
GO
/****** Object: Table [dbo].[borc_tipi] Script Date: 25.02.2020 01:19:54 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[borc_tipi](
[id] [int] IDENTITY(1,1) NOT NULL,
[borc_tipi] [nvarchar](50) NULL,
[aciklama] [nvarchar](50) NULL,
CONSTRAINT [PK_borc_tipi] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
borclar adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[borclar] Script Date: 25.02.2020 01:20:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[borclar](
[id] [int] IDENTITY(1,1) NOT NULL,
[kategori] [nvarchar](50) NULL,
[kullanici] [nvarchar](50) NULL,
[tutar] [decimal](18, 2) NULL,
[aciklama] [nvarchar](150) NULL,
[tarih] [nvarchar](50) NULL,
CONSTRAINT [PK_borclar] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
daire adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[daire] Script Date: 25.02.2020 01:20:33 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[daire](
[id] [int] IDENTITY(1,1) NOT NULL,
[tipi] [nvarchar](50) NULL,
[kira] [decimal](18, 2) NULL,
[aidat] [decimal](18, 2) NULL,
[apartman_id] [int] NOT NULL,
[daire_no] [nvarchar](50) NULL,
CONSTRAINT [PK_daire] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[daire] WITH CHECK ADD FOREIGN KEY([apartman_id])
REFERENCES [dbo].[apartman_islemleri] ([id])
GO
gelirler adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[gelirler] Script Date: 25.02.2020 01:21:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[gelirler](
[id] [int] IDENTITY(1,1) NOT NULL,
[kategori] [nvarchar](50) NULL,
[tutar] [decimal](18, 2) NULL,
[aciklama] [nvarchar](50) NULL,
[tarih] [nvarchar](50) NULL,
CONSTRAINT [PK_gelirler] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
giderler adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[giderler] Script Date: 25.02.2020 01:21:34 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[giderler](
[id] [int] IDENTITY(1,1) NOT NULL,
[kategori] [nvarchar](50) NULL,
[tutar] [decimal](18, 2) NULL,
[aciklama] [nvarchar](150) NULL,
[tarih] [nvarchar](50) NULL,
CONSTRAINT [PK_giderler] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
kullanici adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[kullanici] Script Date: 25.02.2020 01:21:58 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[kullanici](
[id] [int] IDENTITY(1,1) NOT NULL,
[tc_no] [nvarchar](50) NOT NULL,
[soyisim] [nvarchar](50) NULL,
[email] [nvarchar](50) NULL,
[telefon] [nvarchar](50) NULL,
[apartman_id] [int] NULL,
[daire_no] [nvarchar](50) NULL,
[ev_durumu] [nvarchar](50) NULL,
[rol] [nvarchar](50) NULL,
[sifre] [nvarchar](50) NULL,
[ad] [nvarchar](50) NULL,
CONSTRAINT [PK_kullanici] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
log adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[log] Script Date: 25.02.2020 01:22:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[log](
[id] [int] IDENTITY(1,1) NOT NULL,
[islem] [nvarchar](50) NULL,
[ip] [nvarchar](50) NULL,
[tc] [nvarchar](50) NULL,
[aciklama] [nvarchar](50) NULL,
[tarih] [nvarchar](50) NULL,
CONSTRAINT [PK_log] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
odenen adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[odenen] Script Date: 25.02.2020 01:22:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[odenen](
[id] [int] IDENTITY(1,1) NOT NULL,
[odeyen] [nvarchar](50) NULL,
[miktar] [decimal](18, 2) NULL,
[odeme_turu] [nvarchar](50) NULL,
[odeme_onaylayan] [nvarchar](50) NULL,
CONSTRAINT [PK_odenen] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
yetki adındaki tablomuz
USE [apartman]
GO
/****** Object: Table [dbo].[yetki] Script Date: 25.02.2020 01:23:08 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[yetki](
[id] [int] IDENTITY(1,1) NOT NULL,
[tc] [nvarchar](50) NOT NULL,
[gelir_isleri] [tinyint] NULL,
[gider_isleri] [tinyint] NULL,
[kasa_isleri] [tinyint] NULL,
[borc_isleri] [tinyint] NULL,
[daire_isleri] [tinyint] NULL,
[kullanici_isleri] [tinyint] NULL,
CONSTRAINT [PK_yetki] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
Kodlarımızı çalıştırdıkdan sonra örnek kullanıcı ekleyebilirsiniz.
ÖNEMLİ : Arkadaşlar örnek şifreyi 123 gibi girerseniz işe yaramaz projemizde şifreleri veritabanına md5 olarak hashlemektedir ! O yüzden şifre yerine : NrXZjIBQa52XRk2h7doN0Q== yazarsanız bu 123 anlamına gelmektedir.Kullanıcı adı kısmınada tcleri yazıcaksınız !
Örnek Veriler Kopyala Yapıştır Yaparak Tablolarınıza Atabilirsiniz !
Kullanıcı Tablosu
| 1 | 22222222223 | akbuz | md@gmail.com | (222) 2222222 | 2 | 25 | Admin | Admin | NrXZjIBQa52XRk2h7doN0Q== | ramaazn |
| 3 | 23242424242 | akbuzz | ada@gmail.com | (252) 2222222 | 1 | 15 | Kiracı | Apartman Yöneticisi | NrXZjIBQa52XRk2h7doN0Q== | şerif |
| 4 | 54555555555 | akbuz | adda@gmail.com | ( ) | 1 | 15 | Ev Sahibi | Apartman Yöneticisi | NrXZjIBQa52XRk2h7doN0Q== | ramazan |
| 8 | 44444444444 | asasa | ad@gmail.com | ( ) | 2 | 25 | Kiracı | Sakin | KA1gub4QbRrE5wVkEjnmWw== | rarara |
| 9 | 77777777777 | akbuz | mddata.ramazan@gmail.com | (222) 2422222 | 2 | 25 | Ev Sahibi | Sakin | NrXZjIBQa52XRk2h7doN0Q== | ramazan şerif |
| 10 | 12323242422 | adıgüzel | memoli@gmail.com | (242) 2222222 | 2 | 26 | Ev Sahibi | Sakin | NrXZjIBQa52XRk2h7doN0Q== | mehmet |
Kullanıcı Tablosu Örnek Verileri
Yetki Tablosu
| 1 | 22222222223 | 1 | 1 | 1 | 1 | 1 | 1 |
| 2 | 44444444444 | 1 | 1 | 1 | 1 | 1 | 1 |
| 3 | 77777777777 | 1 | 1 | 1 | 1 | 1 | 1 |
Yetki Tablosu Örnek Verileri
Ödenen Tablosu
| 1 | 44444444444 | 2240,00 | Elden | |
| 2 | 23242424242 | 55,00 | Elden | |
| 5 | 23242424242 | 700,00 | Elden | 77777777777 |
| 6 | 23242424242 | 645,00 | Elden | 77777777777 |
| 7 | 23242424242 | 590,00 | Elden | 22222222223 |
| 8 | 23242424242 | 590,00 | Elden | 22222222223 |
Ödeme Tablosu Örnek Verileri
Log Tablosu
| 1 | Daire Tipi Ekleme | 25.73.63.60 | Yeni Bir Daire Tipi Eklenmiştir. | 19.01.2020 18:36:59 | |
| 2 | Daire Tipi Silme | 25.73.63.60 | Daire Tipi Silme İşlemi Başarıyla Gerçekleşti. | 19.01.2020 18:37:04 | |
| 3 | Daire Tipi Ekleme | 25.73.63.60 | Yeni Bir Daire Tipi Eklenmiştir. | 19.01.2020 18:37:27 | |
| 4 | Daire Tip Güncelleme | 25.73.63.60 | 150 | 19.01.2020 18:57:48 | |
| 5 | Daire Tip Güncelleme | 25.73.63.60 | 150 | 19.01.2020 18:57:55 | |
| 6 | Daire Tip Güncelleme | 25.73.63.60 | 150 | 19.01.2020 18:57:57 | |
| 7 | Daire Tip Güncelleme | 25.73.63.60 | 25,00 | 19.01.2020 18:59:39 | |
| 8 | Daire Tip Güncelleme | 25.73.63.60 | 25,00 | 19.01.2020 18:59:44 | |
| 9 | Borç Tipi Silme | 25.73.63.60 | Borç Tipi Silme İşlemi Başarıyla Gerçekleşti. | 19.01.2020 20:43:27 | |
| 10 | Borçlandırma İşlemi | 25.73.63.60 | naber kardeşim desteğini bekliyorum | 19.01.2020 21:32:29 | |
| 11 | Borçlandırma İşlemi | 25.73.63.60 | 19.01.2020 21:51:54 |
Log Tablosu Örnek Verileri
Giderler Tablosu
| 1 | Asansör | 255,00 | güzel bir asansör aldık | 19.01.2020 22:46:40 |
| 3 | Asansör | 1575,00 | 20.01.2020 22:19:30 |
Giderler Tablosu Örnek Verileri
Gelirler Tablosu
| 1 | 54555555555 | 555,00 | iyi insan borç verdi | 20.01.2020 01:01:15 |
| 3 | 25252252522 | 55,00 | borç ödedi | 20.01.2020 |
| 4 | 23242424242 | 25,00 | iyi insan apartmana bağış yaptı | 20.01.2020 22:27:47 |
Gelirler Tablosu Örnek Verileri
Daire Tablosu
| 1 | 2+1 | 1500,55 | 25,00 | 2 | 26 |
| 2 | 3+1 | 2000,00 | 250,00 | 2 | 25 |
| 7 | 4+1 | 1500,00 | 25,00 | 2 | 27 |
| 12 | 5+1 | 2500,00 | 25,00 | 2 | 155 |
Daire Tablosu Örnek Verileri
Borçlar Tablosu
| 1 | Asansör | 25252252522 | 55,00 | naber kardeşim desteğini bekliyorum | 19.01.2020 21:32:28 |
| 2 | Asansör | 23242424242 | 480,00 | seni hiç sevmem | 19.01.2020 21:51:53 |
| 3 | Dış Cephe | 22222222223 | 55,00 | dış cephe için size kalan borç | 20.01.2020 22:24:01 |
| 4 | Dış Cephe | 44444444444 | 55,00 | adas | 20.01.2020 22:29:30 |
Borçlar Tablosu Örnek Verileri
Borç Tipi Tablosu
| 1 | Asansör | Asansör Ekleme İşlemi Yapılacaktır. |
| 4 | Dış Cephe | Dış cephe tadilatı yapılacak |
Borç Tipi Tablosu Örnek Verileri
Apartman İşlemleri Tablosu
| 1 | Akbuz Apartman | A | SAMSUN ATAKUM MEVLANA MAH 734. SOKAK | 15 | 4 |
| 2 | Mısır Apartmanı | B | İstanbul Beylerbeyi | 10 | 1 |
Apartman İşlemleri Örnek Verileri