Skip to content

About

CodeProjects delivers ready-to-use, high-quality software solutions for individuals, startups, and businesses. Each project is designed to save time, increase productivity, and provide scalable, customizable functionality. From web applications to automation tools, CodeProjects offers professional-grade code you can deploy immediately.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PROJECTCODE

Proje grup üyeleri:

Arda Karaçal 231101047

Savaş Solak 231101025

Efe Selim Sürekli 231101030

Proje Konusu:

Bireyler, girişimler ve işletmeler için kullanıma hazır, yüksek kaliteli yazılım çözümleri sunan bir web sitesi oluşturmak.

Domain Tanımı:

Bu proje, bir yazılım pazar yeri (marketplace) platformu olarak tasarlanmıştır. Platformun, Geliştiriciler ve Müşteriler olmak üzere iki temel kullanıcı türü olacaktır:

Geliştiriciler (Sellers), sisteme kaydolup, kendi geliştirdikleri projeleri (ürünleri) platforma yükleyebilen, fiyat belirleyebilen ve satabilen kullanıcılarken; Müşteriler (Buyers) platformdaki projeleri inceleyen, arayan ve satın alabilen kullanıcılardır.

Sistem, geliştiricilerin bir "yetenek havuzu" oluşturmasını ve müşterilerin bu havuzdan projeler satın almasını sağlar. Veri tabanı, bu kullanıcıları, projeleri, projelerde kullanılan teknolojileri ve bu projelerin alım-satım işlemlerini yönetmek için tasarlanmıştır.

Veri tabanının tasarım detayları:

Aşağıda, normalizasyon (özellikle Many-to-Many ilişkilerin çözülmesi) ve ilişkisel bütünlük ilkelerine göre tasarlanmış veri tabanı yapısı sunulmuştur:

  1. Proje Tabloları

Kullanici_Turu (User_Type): Kullanıcı rollerini (Müşteri, Geliştirici, Admin vb.) tutar.

Sütunlar:

Id (PK, int): Türün benzersiz kimliği.

Tur_Adi (varchar): Türün adı (örn: "Müşteri", "Geliştirici").

Kullanici (User): Sisteme kayıt olan tüm kullanıcıları tutar.

Sütunlar:

Id (PK, int): Kullanıcının benzersiz kimliği.

Kullanici_Adi (varchar): Kullanıcının giriş adı.

Parola_Hash (varchar): Parolanın güvenli hashlenmiş hali.

Mail_Adresi (varchar): Kullanıcının e-posta adresi.

Kullanici_Turu_Id (FK, int): Kullanici_Turu.Id tablosuna bağlanan yabancı anahtar.

Teknoloji (Technology): Projelerde kullanılan programlama dillerini veya araçları tutar (örn: 'Python', 'Java', 'React').

Sütunlar:

Id (PK, int): Teknolojinin benzersiz kimliği.

Teknoloji_Adi (varchar): Programlama dilinin/aracın adı.

Proje (Project): Geliştiriciler tarafından satışa sunulan yazılım projelerini tutar.

Sütunlar:

Id (PK, int): Projenin benzersiz kimliği.

Isim (varchar): Projenin adı.

Konu (text): Projenin detaylı açıklaması.

Fiyat (decimal): Projenin satış fiyatı.

Gelistirici_Id (FK, int): Projeyi oluşturan/satan kullanıcının Kullanici.Id'si.

Proje_Teknoloji (Project_Technology Junction Table): Proje ve Teknoloji arasındaki Many-to-Many ilişkiyi çözen ara tablodur.

Sütunlar:

Id (PK, int): Bu ilişkinin benzersiz kimliği.

Proje_Id (FK, int): Proje.Id'ye bağlanan yabancı anahtar.

Teknoloji_Id (FK, int): Teknoloji.Id'ye bağlanan yabancı anahtar.

Islem (Transaction): Başarıyla tamamlanan alım-satım işlemlerini kaydeder.

Sütunlar:

Id (PK, int): İşlemin benzersiz kimliği (eski Transaction Id).

Alan_Kullanici_Id (FK, int): Projeyi satın alan müşterinin Kullanici.Id'si.

Proje_Id (FK, int): Satın alınan projenin Proje.Id'si (eski Alınan Ürün).

Islem_Tarihi (datetime): İşlemin yapıldığı tarih ve saat.

Tutar (decimal): İşlem anındaki satış tutarı (fiyat değişebileceği için Proje tablosundan buraya da kaydedilir).

Not: PK = Primary Key (Birincil Anahtar), FK = Foreign Key (Yabancı Anahtar)

  1. ER Diyagramı Taslağı:

Kullanici_Turu --> Kullanici (One-to-Many): Bir kullanıcı türü (örn: 'Geliştirici') birden fazla kullanıcıya sahip olabilir.

Kullanici (Geliştirici) --> Proje (One-to-Many): Bir geliştirici birden fazla proje oluşturabilir/satabilir.

Kullanici (Müşteri) --> Islem (One-to-Many): Bir müşteri birden fazla işlem (satın alma) yapabilir.

Proje --> Islem (One-to-Many): Bir proje, birden fazla işlemde satılabilir.

Proje --> Proje_Technology --> Technology (Many-to-Many): Bir projenin birden fazla dili olabilir (örn: Python, React) ve bir teknoloji birden fazla projede kullanılabilir. (Proje_Teknoloji ara tablosu)

Menüler ve Fonksiyonlar:

Menüler: Ana Sayfa, Proje Kategorileri (Teknolojilere göre filtrelenebilir), Ürünler, Hakkımızda Sayfası.

Fonksiyonlar:

  • Ürünlerin / Popüler Projelerin Sıralanması: İşlem tablosu Proje_Id'ye göre sayılarak veya Proje tablosu fiyata göre sıralanarak yapılabilir.

  • Giriş Yapma / Kayıt Olma: Kullanıcı tablosu kullanılarak yönetilir.

  • Proje Al / Sat: Bir Geliştirici proje tablosuna kayıt ekler (Satma). Bir Müşteri ise işlem tablosuna kayıt oluşturur (Alma).

Not: Veri Tabanının tasarımı, menüler ve fonksiyonlar proje ilerledikçe değişebilir.

About

CodeProjects delivers ready-to-use, high-quality software solutions for individuals, startups, and businesses. Each project is designed to save time, increase productivity, and provide scalable, customizable functionality. From web applications to automation tools, CodeProjects offers professional-grade code you can deploy immediately.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages