Skip to content

Repository files navigation

Artado Developers Platform

Artado Developers platformu, geliştiricilerin projelerini paylaşabileceği, yönetebileceği ve işbirliği yapabileceği kapsamlı bir geliştirici portalıdır.

📋 İçerik


Özellikler

Kullanıcı Özellikleri

  • Kullanıcı kayıt ve giriş sistemi
  • Profil yönetimi
  • Proje oluşturma ve yönetimi
  • Proje gizlilik ayarları (onay sistemi ile)
  • Workshop entegrasyonu
  • Yorum ve değerlendirme sistemi
  • Duyuru sistemi
  • Todo list yönetimi

Yönetici Özellikleri

  • Kullanıcı yönetimi
  • Proje yönetimi
  • Gizlilik istekleri onay sistemi
  • Yorum yönetimi ve moderasyon
  • İstatistikler ve raporlama
  • Duyuru yayınlama

Teknik Özellikler

  • PHP 8+ ve PDO ile veritabanı yönetimi
  • Modern TailwindCSS arayüz
  • Responsive tasarım
  • Email bildirim sistemi (TLS SMTP)
  • Güvenli oturum yönetimi
  • Dosya yükleme sistemi

🛠️ Kurulum

Gereksinimler

  • PHP 8.0 veya üzeri
  • MySQL 5.7 veya üzeri
  • Web sunucu (Apache/Nginx)
  • Composer (PHPMailer için)

Adım 1: Veritabanı Kurulumu

# Veritabanı oluşturun
mysql -u root -p
CREATE DATABASE artadodevs;
CREATE USER 'artado'@'localhost' IDENTIFIED BY 'şifreniz';
GRANT ALL PRIVILEGES ON artadodevs.* TO 'artado'@'localhost';
FLUSH PRIVILEGES;

Adım 2: Dosyaları Yükleme

# Projeyi sunucuya yükleyin
git clone https://github.com/Artado-Project/devs
cd devs

Adım 3: Konfigürasyon

# Veritabanı ayarlarını düzenleyin
nano config.php

Adım 5: Composer Dependencies

# PHPMailer kurulumu
composer install

Adım 6: Dosya İzinleri

# Dosya izinlerini ayarlayın
chmod -R 755 .
chmod -R 777 public/uploads/

Adım 7: .env dosyası oluşturun

# Database Configuration
DB_HOST=
DB_NAME=
DB_USER=
DB_PASS=
# Mail Configuration
MAIL_HOST=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_PORT=465
MAIL_ENCRYPTION=smtps
# Application Configuration
APP_NAME=Artado Developers
APP_URL=https://devs.artado.xyz

Veritabanı Yapısı

Ana Tablolar

users

Kullanıcı bilgilerini tutar:

  • id, username, email, password
  • profile_photo, title, bio
  • role (user/admin), created_at

projects

Proje bilgilerini tutar:

  • id, title, description, category
  • image_path, download_link, github_link
  • user_id, is_private, approval_status
  • created_at, updated_at

workshop_comments

Workshop yorumlarını tutar:

  • id, project_id, user_id, comment
  • rating (1-5), status (pending/approved/rejected)
  • created_at

project_privacy_requests

Gizlilik değişiklik isteklerini tutar:

  • id, project_id, user_id, requested_privacy
  • reason, status (pending/approved/rejected)
  • admin_notes, created_at, processed_at

password_resets

Şifre sıfırlama tokenlarını tutar:

  • id, email, token, expires_at
  • used, created_at

📁 Dosya Yapısı

devs/
├── 📄 Ana Dosyalar
│ ├── index.php # Ana sayfa
│ ├── login.php # Giriş sayfası
│ ├── register.php # Kayıt sayfası
│ ├── header.php # Ana header
│ ├── footer.php # Ana footer
│ └── config.php # Veritabanı konfigürasyonu
│
├── 👤 Kullanıcı Paneli (/user/)
│ ├── index.php # Kullanıcı ana panel
│ ├── account-profile.php # Profil yönetimi
│ ├── account-security.php # Güvenlik ayarları
│ ├── projects.php # Proje yönetimi
│ ├── announcements.php # Duyurular
│ ├── todo-list.php # Todo list
│ ├── create-*.php # Proje oluşturma formları
│ └── auth-*.php # Auth sayfaları
│
├── 🛡️ Admin Paneli (/admin/)
│ ├── index.php # Admin dashboard
│ ├── users.php # Kullanıcı yönetimi
│ ├── projects.php # Proje yönetimi
│ ├── comments.php # Yorum yönetimi
│ ├── privacy_requests.php # Gizlilik istekleri
│ ├── duyuru.php # Duyuru yönetimi
│ ├── statistics.php # İstatistikler
│ └── header.php # Admin header
│
├── 🔧 Workshop (/Workshop/)
│ ├── index.php # Workshop ana sayfa
│ ├── project.php # Proje detay sayfası
│ ├── api.php # Workshop API
│ ├── comment_handler.php # Yorum işleyici
│ └── footer.php # Workshop footer
│
├── 📚 Kütüphaneler (/includes/)
│ ├── database.php # Veritabanı bağlantısı
│ ├── auth.php # Oturum yönetimi
│ ├── session_start.php # Oturum başlatma
│ ├── functions.php # Yardımcı fonksiyonlar
│ ├── mailer.php # Email gönderme
│ └── file_upload_helper.php # Dosya yükleme yardımcısı
│
├── 🗂️ Kurulum Dosyaları
│ ├── install_privacy.php # Gizlilik özellikleri kurulumu
│ ├── install_password_resets.php # Şifre sıfırlama kurulumu
│ └── add_privacy_fields.sql # Veritabanı migration script
│
├── 🖼️ Public Dosyalar (/public/)
│ ├── uploads/ # Yüklenen dosyalar
│ └── logo.png # Site logosu
│
└── 📂 Diğer
├── assets/ # CSS/JS dosyaları
├── vendor/ # Composer packages
└── README.md # Bu dosya

Yönetim Paneli

Admin paneline erişmek için:

  1. Admin kullanıcı ile giriş yapın
  2. /admin/ dizinine gidin

Özellikler:

  • Dashboard: Genel istatistikler ve hızlı erişim
  • Kullanıcı Yönetimi: Kullanıcıları düzenleme, silme, rol atama
  • Proje Yönetimi: Projeleri onaylama, düzenleme, silme
  • Yorum Yönetimi: Yorumları onaylama, reddetme, silme
  • Gizlilik İstekleri: Proje gizlilik isteklerini değerlendirme
  • Duyurular: Sistem duyurularını yönetme
  • İstatistikler: Detaylı raporlar ve grafikler

🛠️ Workshop

Workshop, geliştiricilerin projelerini paylaşabildiği merkezi platformdur.

Özellikler:

  • Proje Gösterimi: Kategorilere göre proje listeleme
  • Detay Sayfası: Proje detayları, yorumlar, değerlendirmeler
  • Yorum Sistemi: 5 yıldızlı değerlendirme sistemi
  • API Entegrasyonu: Dış uygulamalar için API desteği
  • Filtreleme: Kategori ve arama filtreleri

API Kullanımı:

GET /Workshop/api.php

Döndürülen veriler:

{
"themes": [...],
"plugins": [...]
}

🔐 Güvenlik

Güvenlik Önlemleri:

  • ✅ PDO ile SQL injection koruması
  • ✅ XSS koruması (htmlspecialchars)
  • ✅ CSRF token koruması
  • ✅ Güvenli şifre hashing (password_hash)
  • ✅ Oturum güvenliği
  • ✅ Dosya yükleme güvenliği
  • ✅ Input validation ve sanitizasyon

Email Konfigürasyonu:

  • Sunucu: mail-sunucusu
  • Güvenlik: TLS (SMTPS)
  • Kullanıcı: noreply@seninmailin.com

⚡ Yapılması Gereken Adımlar

1. 🗄️ Veritabanı Kurulumu

# Veritabanı tablolarını oluşturun
mysql -u root -p artadodevs < clean_database.sql

2. 📧 Email Test

# Email gönderimini test edin# Şifre sıfırlama fonksiyonunu deneyin

3. Logo Dosyası

# logo.png dosyasının ana dizinde olduğundan emin olun
ls -la logo.png

4. İzinler

# Dosya izinlerini kontrol edin
chmod -R 755 .
chmod -R 777 public/uploads/

5. Test Etmek

  • Kullanıcı kaydı ve giriş
  • Proje oluşturma ve gizlilik ayarları
  • Workshop yorum sistemi
  • Email bildirimleri
  • Admin paneli fonksiyonları

📞 Destek

Sorunlarınız için:


📄 Lisans

Bu proje MIT lisansı altında dağıtılmaktadır.


Not: Bu platform Artado Developers topluluğu için geliştirilmiştir. Katkıda bulunmak için lütfen GitHub repository'muzu ziyaret edin.

About

Özgür ve Açık kaynaklı Proje yayınlama Platformu

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages