Skip to content

alpeerkaraca/OgrenciPlatform

Repository files navigation

πŸŽ“ Γ–ΔŸrenci Platformu (Student Platform)

TΓΌrkΓ§e | English

Bu proje, güvenlik odaklı bir âğrenci bilgi sistemi olarak geliştirilmiştir. Modern web uygulama mimarilerine uygun olarak tasarlanan sistem, JWT tabanlı kimlik doğrulama, rol tabanlı yetkilendirme ve kapsamlı güvenlik ânlemleriyle kurumsal kullanıma hazır bir platform sunmaktadır.

πŸ”’ GΓΌvenlik Γ–zellikleri

Kimlik Doğrulama ve Yetkilendirme

  • JWT Token TabanlΔ± Kimlik Doğrulama: Stateless authentication ile ΓΆlΓ§eklenebilir gΓΌvenlik
  • Refresh Token MekanizmasΔ±: GΓΌvenli oturum yenileme ve uzun sΓΌreli erişim yΓΆnetimi
  • Rol TabanlΔ± Erişim KontrolΓΌ: Admin, Danışman ve Γ–ΔŸrenci rolleri ile detaylΔ± yetki yΓΆnetimi
  • Γ–zel Yetkilendirme Filtreleri: CustomAuth attribute ile granΓΌler erişim kontrolΓΌ

Parola Güvenliği

  • BCrypt Hash AlgoritmasΔ±: EndΓΌstri standardΔ± parola şifreleme
  • GΓΌΓ§lΓΌ Parola PolitikalarΔ±: Minimum karmaşıklΔ±k gereksinimleri
  • GΓΌvenli Parola SΔ±fΔ±rlama: Token tabanlΔ± sΔ±fΔ±rlama mekanizmasΔ± (15 dakika geΓ§erlilik)

Oturum Güvenliği

  • HttpOnly ve Secure Γ‡erezler: XSS ve MITM saldΔ±rΔ±larΔ±na karşı koruma
  • CSRF KorumasΔ±: Anti-forgery token implementasyonu
  • Oturum Zaman AşımΔ±: YapΔ±landΔ±rΔ±labilir token yaşam sΓΌresi
  • GΓΌvenli Γ‡Δ±kış: Refresh token'larΔ±n sunucu tarafΔ±nda iptal edilmesi

Veri Güvenliği

  • Input Validasyonu: Model state validation ve form doğrulama
  • SQL Injection KorumasΔ±: Entity Framework ORM kullanΔ±mΔ±
  • GΓΌvenli API Endpoint'leri: Yetkilendirme kontrollΓΌ REST servisleri

πŸ—οΈ Proje Mimarisi

KatmanlΔ± Mimari

β”œβ”€β”€ OgrenciPortali (MVC Frontend)     # KullanΔ±cΔ± ArayΓΌzΓΌ KatmanΔ±
β”‚   β”œβ”€β”€ Controllers/                  # MVC Controllers
β”‚   β”œβ”€β”€ Views/                        # Razor Views
β”‚   β”œβ”€β”€ Attributes/                   # Custom Authorization
β”‚   └── Utils/                        # Helper Classes
β”‚
β”œβ”€β”€ OgrenciPortalApi (Web API)        # İş Mantığı ve Veri KatmanΔ±
β”‚   β”œβ”€β”€ Controllers/                  # API Controllers
β”‚   β”œβ”€β”€ Models/                       # Entity Framework Models
β”‚   β”œβ”€β”€ Utils/                        # JWT, Security Utilities
β”‚   └── Areas/SwaggerUI/              # API Documentation
β”‚
β”œβ”€β”€ Shared                            # Ortak Bileşenler KΓΌtΓΌphanesi
β”‚   β”œβ”€β”€ DTO/                          # Data Transfer Objects
β”‚   β”œβ”€β”€ Enums/                        # Sistem Enums
β”‚   └── Constants/                    # Sabit Değerler
β”‚
└── OgrenciPlatform.Shared            # Veri Transfer KatmanΔ±
    └── DTO/                          # Web-Optimized DTOs

KullanΔ±cΔ± Rolleri ve Yetkileri

  • πŸ‘€ Admin: Sistem yΓΆneticisi - TΓΌm modΓΌllere erişim
  • πŸ‘¨β€πŸ« Danışman: Akademik danışman - Ders ve âğrenci yΓΆnetimi
  • πŸ‘¨β€πŸŽ“ Γ–ΔŸrenci: Γ–ΔŸrenci kullanΔ±cΔ± - Ders kayΔ±t ve takip işlemleri

πŸš€ Teknoloji YığınΔ±

Backend Teknolojileri

  • ASP.NET Web API 2 (.NET Framework 4.7.2) - RESTful API servisleri
  • ASP.NET MVC 5 (.NET Framework 4.7.2) - Web uygulama framework'ΓΌ
  • Entity Framework 6.5.1 - ORM ve veritabanΔ± erişimi (Database-First)
  • Microsoft SQL Server - VeritabanΔ± yΓΆnetim sistemi
  • Redis Stack 2.8.58 - In-memory caching ve real-time data validation
  • Hangfire 1.8.21 - Background job processing ve scheduled tasks

Güvenlik ve Kimlik Doğrulama

  • Microsoft.Owin 4.2.3 - OWIN middleware
  • Microsoft.Owin.Security.Jwt 4.2.3 - JWT token middleware
  • System.IdentityModel.Tokens.Jwt 8.13.0 - JWT token işlemleri
  • BCrypt.Net-Next 4.0.3 - Parola hashleme
  • Claims-based Authentication - KullanΔ±cΔ± bilgileri ve roller

AI ve Automation

  • Deepseek API Integration - AI-powered course description generation
  • Hangfire Background Processing - Automated cache updates ve scheduled tasks
  • Real-time Validation - Redis-based instant form validation

Δ°stemci TarafΔ±

  • Bootstrap 5.3.7 - Responsive UI framework
  • jQuery 3.7.1 - JavaScript kΓΌtΓΌphanesi ve validation
  • Fetch API - Modern asenkron HTTP istekleri
  • Real-time AJAX - Instant user feedback ve validation

Communication & Email

  • MailKit 4.13.0 - Modern email handling
  • MimeKit 4.13.0 - Email formatting and parsing

Geliştirici Araçları

  • AutoMapper 15.0.1 - Object mapping
  • Autofac 6.4.0 / Unity 5.11.8 - Dependency injection containers
  • log4net 3.1.0 - Comprehensive logging framework
  • Newtonsoft.Json 13.0.3 - JSON serialize/deserialize
  • DotNetEnv 3.1.1 - Environment variables yΓΆnetimi
  • Swashbuckle 5.6.0 - API documentation ve testing

βš™οΈ Kurulum ve YapΔ±landΔ±rma

Γ–n Gereksinimler

  • Visual Studio 2019 veya ΓΌzeri
  • .NET Framework 4.7.2
  • Microsoft SQL Server 2016 veya ΓΌzeri
  • IIS Express veya IIS

1. Projeyi KlonlayΔ±n

git clone https://github.com/alpeerkaraca/OgrenciPlatform.git
cd OgrenciPlatform

2. VeritabanΔ± Kurulumu

  1. SQL Server'da yeni bir veritabanı oluşturun
  2. OgrenciPortalApi/Web.config dosyasΔ±nda connection string'i gΓΌncelleyin:
<connectionStrings>
  <add name="OgrenciPortalContext" 
       connectionString="Data Source=SERVER;Initial Catalog=DBNAME;User ID=USER;Password=PASS" />
</connectionStrings>

3. Γ‡evresel Değişkenler

API projesinde .env dosyası oluşturun (.env.example'dan kopyalayın):

# JWT Configuration
JWT_MASTER_KEY="your_super_secret_jwt_key_minimum_256_bits"
JWT_ISSUER="https://yourdomain.com"
JWT_AUDIENCE="https://yourdomain.com"
ACCESS_TOKEN_EXPIRATION_MINUTES=15
REFRESH_TOKEN_EXPIRATION_DAYS=7

# API Configuration
API_BASE_ADDRESS="https://localhost:44301/"

# Email Configuration (Password Reset)
SMTP_HOST="smtp.gmail.com"
SMTP_PORT=587
SMTP_USER="your-email@gmail.com"
SMTP_PASS="your-app-password"

# Redis Configuration
REDIS_CONNECTION_STRING="localhost:6379"

# AI Configuration (Deepseek API)
DEEPSEEK_API_KEY="your_deepseek_api_key"
DEEPSEEK_API_URL="https://api.deepseek.com"

# Background Jobs Configuration
HANGFIRE_DASHBOARD_USERNAME="admin"
HANGFIRE_DASHBOARD_PASSWORD="your_secure_password"

4. GΓΌvenlik YapΔ±landΔ±rmasΔ±

⚠️ Γ–nemli GΓΌvenlik NotlarΔ±:

  • JWT_MASTER_KEY en az 256 bit (32 karakter) olmalΔ±dΔ±r
  • Üretim ortamΔ±nda gΓΌΓ§lΓΌ, rastgele bir anahtar kullanΔ±n
  • SMTP bilgilerini gΓΌvenli şekilde saklayΔ±n
  • SQL Server bağlantΔ± bilgilerini şifreleyin

5. Projeyi Γ‡alıştΔ±rma

  1. İlk olarak API'yi başlatın:

    • Visual Studio'da OgrenciPortalApi projesini başlatΔ±n
    • Swagger UI: https://localhost:44301/swagger
  2. Ardından MVC uygulamasını başlatın:

    • OgrenciPortali projesini başlatΔ±n
    • Web arayΓΌzΓΌ: https://localhost:44302

πŸ” GΓΌvenlik Best Practices

Geliştirme Ortamında

  • .env dosyalarΔ±nΔ± .gitignore'a ekleyin
  • VarsayΔ±lan admin hesabΔ± iΓ§in gΓΌΓ§lΓΌ parola kullanΔ±n
  • Development sertifikalarΔ±nΔ± kullanΔ±n (HTTPS)
  • SQL Server authentication yerine Windows Authentication tercih edin

Üretim Ortamında

  • JWT anahtarlarΔ±nΔ± Azure Key Vault veya benzeri servislerde saklayΔ±n
  • SSL/TLS sertifikasΔ± yapΔ±landΔ±rΔ±n (Let's Encrypt)
  • Database connection string'lerini şifreleyin
  • Application Insights veya benzeri monitoring ekleyin
  • Rate limiting implementasyonu
  • IP whitelist/blacklist yapΔ±landΔ±rmasΔ±
  • GΓΌvenlik başlΔ±klarΔ± (HSTS, CSP, X-Frame-Options)

Monitoring ve Logging

  • log4net ile gΓΌvenlik olaylarΔ±nΔ± loglayin
  • BaşarΔ±sΔ±z giriş denemelerini takip edin
  • API rate limiting loglarΔ±
  • Kritik işlemler iΓ§in audit trail

πŸ“š API DokΓΌmantasyonu

API endpoint'leri ve gΓΌvenlik modeli iΓ§in Swagger UI kullanΔ±n:

  • Development: https://localhost:44301/swagger
  • API Base URL: https://localhost:44301/api/

Temel API Endpoint'leri

# Authentication & Authorization
POST /api/user/login          # Kullanıcı girişi
POST /api/auth/refresh-token  # Token yenileme
POST /api/auth/logout         # Güvenli çıkış

# User Management
GET  /api/user/profile        # KullanΔ±cΔ± profili
POST /api/user/change-password # Parola değişikliği
POST /api/user/test-email     # Real-time email validation (Redis)

# Course Management
GET  /api/courses/list        # Ders listesi
POST /api/courses/generate-description # AI-powered course description

# Student Operations
GET  /api/student/my-courses  # Γ–ΔŸrencinin dersleri
POST /api/student/enroll      # Ders kaydΔ±

# Background Jobs
GET  /hangfire                # Background jobs dashboard (Admin only)

πŸ“‹ Son GΓΌncellemeler

2025-09-02 - Redis Entegrasyonu ve Real-time Validation

  • ⚑ Redis Cache System: KullanΔ±cΔ± e-posta adresleri Redis'te cache'lenerek lightning-fast validation sağlandΔ±
  • πŸ”„ Otomatik Cache GΓΌncelleme: Hangfire background job'larΔ± ile cache her 15 dakikada bir yenilenir
  • ⏱️ Real-time Form Validation: KullanΔ±cΔ±lar form girişlerinde anΔ±nda email existence feedback alΔ±r
  • πŸš€ Performance Enhancement: Email validation iΓ§in veritabanΔ± sorgu yΓΌkΓΌ ΓΆnemli ΓΆlΓ§ΓΌde azaltΔ±ldΔ±
  • πŸ“‘ Yeni API Endpoint: POST /api/user/test-email endpoint'i eklendi

2025-09-01 - AI Entegrasyonu ve Hangfire Kurulumu

  • πŸ€– AI Course Description Generation: Deepseek API entegrasyonu ile otomatik ders aΓ§Δ±klamasΔ± ΓΌretimi
  • βš™οΈ Hangfire Background Processing: Scheduled task'lar ve background job management
  • 🎯 Automated Content Generation: AI destekli iΓ§erik ΓΌretim sistemi
  • πŸ“Š Background Jobs Dashboard: Admin kullanΔ±cΔ±lar iΓ§in job monitoring ve management
  • πŸ”„ Scheduled Cache Updates: Otomatik cache yenileme job'larΔ±

2025-09-01 - Dokümantasyon Geliştirmeleri

  • βœ… KapsamlΔ± README dosyalarΔ±: TΓΌm projeler iΓ§in detaylΔ± dokΓΌmantasyon eklendi
  • πŸ“š Shared KΓΌtΓΌphane DokΓΌmantasyonu: Shared ve OgrenciPlatform.Shared projelerine README dosyalarΔ± eklendi
  • πŸ—οΈ Mimari GΓΌncellemeleri: Proje mimarisi diyagramΔ± iki ayrΔ± Shared kΓΌtΓΌphanesini yansΔ±tacak şekilde gΓΌncellendi
  • πŸ”„ TutarlΔ±lΔ±k Δ°yileştirmeleri: Γ‡ok dilli dokΓΌmantasyon tutarlΔ±lığı sağlandΔ±

2025-09-01 - UI/UX Geliştirmeleri

  • 🎨 Modern Theme Implementation: Yeni renk paleti ve geliştirilmiş layout stilleri
  • πŸ“± Enhanced Modal System: Improved modal behavior ve button state handling
  • ⚑ AJAX Functionality: Fetch API ile modern asenkron HTTP istekleri
  • ✨ Real-time Validation: Instant form validation ve user feedback

🀝 Katkı Sağlama

  1. Bu repository'yi fork edin
  2. Feature branch oluşturun (git checkout -b feature/amazing-feature)
  3. Değişikliklerinizi commit edin (git commit -m 'Add amazing feature')
  4. Branch'inizi push edin (git push origin feature/amazing-feature)
  5. Pull Request oluşturun

GΓΌvenlik Raporu

Güvenlik açığı tespit ederseniz, lütfen public issue açmak yerine doğrudan [maintainer]'a ulaşın.

πŸ“„ Lisans

Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.


English Version

πŸŽ“ Student Platform (Γ–ΔŸrenci Platformu)

This project is a security-focused student information system developed with modern web application architecture. The system offers an enterprise-ready platform with JWT-based authentication, role-based authorization, and comprehensive security measures.

πŸ”’ Security Features

Authentication and Authorization

  • JWT Token-Based Authentication: Scalable security with stateless authentication
  • Refresh Token Mechanism: Secure session renewal and long-term access management
  • Role-Based Access Control: Detailed permission management with Admin, Advisor, and Student roles
  • Custom Authorization Filters: Granular access control with CustomAuth attributes

Password Security

  • BCrypt Hash Algorithm: Industry-standard password encryption
  • Strong Password Policies: Minimum complexity requirements
  • Secure Password Reset: Token-based reset mechanism (15-minute validity)

Session Security

  • HttpOnly and Secure Cookies: Protection against XSS and MITM attacks
  • CSRF Protection: Anti-forgery token implementation
  • Session Timeout: Configurable token lifespan
  • Secure Logout: Server-side refresh token revocation

Data Security

  • Input Validation: Model state validation and form verification
  • SQL Injection Protection: Entity Framework ORM usage
  • Secure API Endpoints: Authorization-controlled REST services

πŸ—οΈ Project Architecture

Layered Architecture

β”œβ”€β”€ OgrenciPortali (MVC Frontend)     # User Interface Layer
β”‚   β”œβ”€β”€ Controllers/                  # MVC Controllers
β”‚   β”œβ”€β”€ Views/                        # Razor Views
β”‚   β”œβ”€β”€ Attributes/                   # Custom Authorization
β”‚   └── Utils/                        # Helper Classes
β”‚
β”œβ”€β”€ OgrenciPortalApi (Web API)        # Business Logic and Data Layer
β”‚   β”œβ”€β”€ Controllers/                  # API Controllers
β”‚   β”œβ”€β”€ Models/                       # Entity Framework Models
β”‚   β”œβ”€β”€ Utils/                        # JWT, Security Utilities
β”‚   └── Areas/SwaggerUI/              # API Documentation
β”‚
β”œβ”€β”€ Shared                            # Common Components Library
β”‚   β”œβ”€β”€ DTO/                          # Data Transfer Objects
β”‚   β”œβ”€β”€ Enums/                        # System Enums
β”‚   └── Constants/                    # Constants
β”‚
└── OgrenciPlatform.Shared            # Data Transfer Layer
    └── DTO/                          # Web-Optimized DTOs

User Roles and Permissions

  • πŸ‘€ Admin: System administrator - Full system access
  • πŸ‘¨β€πŸ« Advisor (Danışman): Academic advisor - Course and student management
  • πŸ‘¨β€πŸŽ“ Student (Γ–ΔŸrenci): Student user - Course registration and tracking

πŸš€ Technology Stack

Backend Technologies

  • ASP.NET Web API 2 (.NET Framework 4.7.2) - RESTful API services
  • ASP.NET MVC 5 (.NET Framework 4.7.2) - Web application framework
  • Entity Framework 6.5.1 - ORM and database access (Database-First)
  • Microsoft SQL Server - Database management system
  • Redis Stack 2.8.58 - In-memory caching and real-time data validation
  • Hangfire 1.8.21 - Background job processing and scheduled tasks

Security and Authentication

  • Microsoft.Owin 4.2.3 - OWIN middleware
  • Microsoft.Owin.Security.Jwt 4.2.3 - JWT token middleware
  • System.IdentityModel.Tokens.Jwt 8.13.0 - JWT token operations
  • BCrypt.Net-Next 4.0.3 - Password hashing
  • Claims-based Authentication - User information and roles

AI and Automation

  • Deepseek API Integration - AI-powered course description generation
  • Hangfire Background Processing - Automated cache updates and scheduled tasks
  • Real-time Validation - Redis-based instant form validation

Client-Side

  • Bootstrap 5.3.7 - Responsive UI framework
  • jQuery 3.7.1 - JavaScript library and validation
  • Fetch API - Modern asynchronous HTTP requests
  • Real-time AJAX - Instant user feedback and validation

Communication & Email

  • MailKit 4.13.0 - Modern email handling
  • MimeKit 4.13.0 - Email formatting and parsing

Developer Tools

  • AutoMapper 15.0.1 - Object mapping
  • Autofac 6.4.0 / Unity 5.11.8 - Dependency injection containers
  • log4net 3.1.0 - Comprehensive logging framework
  • Newtonsoft.Json 13.0.3 - JSON serialize/deserialize
  • DotNetEnv 3.1.1 - Environment variables management
  • Swashbuckle 5.6.0 - API documentation and testing

βš™οΈ Installation and Setup

Prerequisites

  • Visual Studio 2019 or higher
  • .NET Framework 4.7.2
  • Microsoft SQL Server 2016 or higher
  • IIS Express or IIS

1. Clone the Repository

git clone https://github.com/alpeerkaraca/OgrenciPlatform.git
cd OgrenciPlatform

2. Database Setup

  1. Create a new database in SQL Server
  2. Update the connection string in OgrenciPortalApi/Web.config:
<connectionStrings>
  <add name="OgrenciPortalContext" 
       connectionString="Data Source=SERVER;Initial Catalog=DBNAME;User ID=USER;Password=PASS" />
</connectionStrings>

3. Environment Variables

Create a .env file in the API project (copy from .env.example):

# JWT Configuration
JWT_MASTER_KEY="your_super_secret_jwt_key_minimum_256_bits"
JWT_ISSUER="https://yourdomain.com"
JWT_AUDIENCE="https://yourdomain.com"
ACCESS_TOKEN_EXPIRATION_MINUTES=15
REFRESH_TOKEN_EXPIRATION_DAYS=7

# API Configuration
API_BASE_ADDRESS="https://localhost:44301/"

# Email Configuration (Password Reset)
SMTP_HOST="smtp.gmail.com"
SMTP_PORT=587
SMTP_USER="your-email@gmail.com"
SMTP_PASS="your-app-password"

# Redis Configuration
REDIS_CONNECTION_STRING="localhost:6379"

# AI Configuration (Deepseek API)
DEEPSEEK_API_KEY="your_deepseek_api_key"
DEEPSEEK_API_URL="https://api.deepseek.com"

# Background Jobs Configuration
HANGFIRE_DASHBOARD_USERNAME="admin"
HANGFIRE_DASHBOARD_PASSWORD="your_secure_password"

4. Security Configuration

⚠️ Important Security Notes:

  • JWT_MASTER_KEY must be at least 256 bits (32 characters)
  • Use a strong, random key in production
  • Secure SMTP credentials
  • Encrypt SQL Server connection information

5. Running the Project

  1. Start the API first:

    • Launch OgrenciPortalApi project in Visual Studio
    • Swagger UI: https://localhost:44301/swagger
  2. Then start the MVC application:

    • Launch OgrenciPortali project
    • Web interface: https://localhost:44302

πŸ” Security Best Practices

Development Environment

  • Add .env files to .gitignore
  • Use strong passwords for default admin accounts
  • Use development certificates (HTTPS)
  • Prefer Windows Authentication over SQL Server authentication

Production Environment

  • Store JWT keys in Azure Key Vault or similar services
  • Configure SSL/TLS certificates (Let's Encrypt)
  • Encrypt database connection strings
  • Add Application Insights or similar monitoring
  • Implement rate limiting
  • Configure IP whitelist/blacklist
  • Set security headers (HSTS, CSP, X-Frame-Options)

Monitoring and Logging

  • Log security events with log4net
  • Track failed login attempts
  • Monitor API rate limiting
  • Implement audit trail for critical operations

πŸ“š API Documentation

Use Swagger UI for API endpoints and security model:

  • Development: https://localhost:44301/swagger
  • API Base URL: https://localhost:44301/api/

Core API Endpoints

# Authentication & Authorization
POST /api/user/login          # User login
POST /api/auth/refresh-token  # Token refresh
POST /api/auth/logout         # Secure logout

# User Management
GET  /api/user/profile        # User profile
POST /api/user/change-password # Password change
POST /api/user/test-email     # Real-time email validation (Redis)

# Course Management
GET  /api/courses/list        # Course listing
POST /api/courses/generate-description # AI-powered course description

# Student Operations
GET  /api/student/my-courses  # Student's courses
POST /api/student/enroll      # Course enrollment

# Background Jobs
GET  /hangfire                # Background jobs dashboard (Admin only)

πŸ“‹ Recent Updates

2025-09-02 - Redis Integration and Real-time Validation

  • ⚑ Redis Cache System: User email addresses cached in Redis for lightning-fast validation
  • πŸ”„ Automated Cache Updates: Hangfire background jobs refresh cache every 15 minutes
  • ⏱️ Real-time Form Validation: Users get instant email existence feedback during form input
  • πŸš€ Performance Enhancement: Significantly reduced database query load for email validation
  • πŸ“‘ New API Endpoint: Added POST /api/user/test-email endpoint

2025-09-01 - AI Integration and Hangfire Setup

  • πŸ€– AI Course Description Generation: Deepseek API integration for automated course description generation
  • βš™οΈ Hangfire Background Processing: Scheduled tasks and background job management
  • 🎯 Automated Content Generation: AI-powered content generation system
  • πŸ“Š Background Jobs Dashboard: Job monitoring and management for admin users
  • πŸ”„ Scheduled Cache Updates: Automated cache refresh background jobs

2025-09-01 - Documentation Improvements

  • βœ… Comprehensive README Files: Detailed documentation added for all projects
  • πŸ“š Shared Library Documentation: README files added to Shared and OgrenciPlatform.Shared projects
  • πŸ—οΈ Architecture Updates: Project architecture diagram updated to reflect both Shared libraries
  • πŸ”„ Consistency Improvements: Multilingual documentation consistency ensured

2025-09-01 - UI/UX Enhancements

  • 🎨 Modern Theme Implementation: New color palette and improved layout styles
  • πŸ“± Enhanced Modal System: Improved modal behavior and button state handling
  • ⚑ AJAX Functionality: Fetch API integration for modern asynchronous HTTP requests
  • ✨ Real-time Validation: Instant form validation and user feedback

🀝 Contributing

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Create a Pull Request

Security Reporting

If you discover a security vulnerability, please contact the maintainer directly instead of opening a public issue.

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published