Team3 QuizMingle: Fun and Interactive Learning Platform 🌟
The QuizMingle project is a platform that offers a fun and interactive learning experience. Users can create and share interactive quizzes on various topics and test the knowledge level of their participants.
-
Clean Architecture: The project is divided into layers (Presentation, Application, Domain, Infrastructure) for maintenance and scalability. Each layer has clear responsibilities.
-
Identity Mechanism & JWT Token: ASP.NET Core Identity is used for user management and JWT token for secure, token-based authentication. This can be seen in the AuthController and Token Service, which perform user authentication and token generation.
-
CQRS Pattern - MediatR: The Command Query Responsibility Separation (CQRS) pattern is implemented using MediatR and the separation of commands and queries is provided in the QuizController.
-
Fluent Validation: Fluent Validation library was used in QuizController to validate user input.
-
Interception Mechanism: Dependency Injection mechanism has been implemented.
-
Entity Framework Core & Performance Optimisation: Entity Framework Core was used for database operations and performance optimisations were made by tracing mechanism.
-
Caching: QuizController caching strategies have been implemented to reduce database load and improve response times.
-
User Secrets: User Secrets are used for the management of sensitive data in the development environment.
-
Helper Classes/Services in Infrastructure Layer: Reusable helper classes and services have been developed in infrastructure layer for common operations.
-
Singleton Design Pattern: Singleton pattern is implemented in user.
-
Kullanıcı Girişi ve Kaydı: Platforma giriş yapmak ve quizler oluşturmak için kullanıcıların bir hesap oluşturması gerekmektedir. Kullanıcılar, güvenli kullanıcı kimlik doğrulaması ile platforma erişebilir ve kişisel profillerini yönetebilirler.
-
Quiz Oluşturma: Kullanıcılar, platform üzerinden kolayca quiz oluşturabilirler. Quiz oluşturma formunda, seçenekleri ve doğru cevaplar belirlenebilir.
-
Quiz Detayları ve Sonuçlar: Her quizin ayrıntılı bir sayfası bulunmaktadır. Her katılımcının verdiği cevaplar ve quiz sonuçları detaylı bir şekilde incelenebilir.
-
Tracing and Interception Mechanism, Caching, Fluent Validation
-
Domain, Persistence, Database Design, Configurations, Entities, AuthController, QuizControllers, Identity Mechanism, JWT Token
-
User CRUD, MediatR
-
User CRUD, Singleton Design Pattern, Fixing the bugs
-
GetBestScoreInQuiz & GenerateRandomQuiz endpoints
- Random quiz oluşturma özelliği ile sürekli değişen ve çeşitlenen içerikler sunarak kullanıcılara dinamik bir quiz
- En iyi skoru getirme endpointleri
-
Kadirhan Sağlam:
-
Seyyit Ahmet Kılıç: JWT token oluşturma , veri tabanı tasarımı aşamalarında zorlandım.
-
Nejla Küçük: Bu süreçte herhangi bir zorluk yaşamadım.
-
Elif Yıldırım: Bu süreçte okul dönemimdeki yoğunluğun takım çalışması haftasına denk gelmesinin birkaç gün sabahlamama sebep olması dışında bir sorun yaşamadım.
-
Furkan Mert Mısırlı: İstenilen süreyi geçersiz veya istenmeyen değerlerle talep edilebilmesi sorununa rastlandı. Bu durumu engellemek ve güvenilirlik sağlamak için validasyon sistemine ek kontroller eklenmesi gerekti.
🌐 Kadirhan Sağlam : Linkedin
🌐 Seyyit Ahmet Kılıç: Linkedin
🌐 Nejla Küçük: Linkedin
🌐 Elif Yıldırım: Linkedin
🌐 Furkan Mert Mısırlı: Linkedin