Bu proje, Spring Boot ve GraphQL kullanılarak geliştirilmiş bir Eğitim Yönetim Sistemi API'sidir. Sistem, öğrenci, eğitmen, kurs ve kayıt işlemlerini yönetmek için kullanılabilir. Ayrıca GraphQL üzerinden filtreleme, ilişkisel sorgular ve puanlama (rating) özellikleri desteklenmektedir.
- GraphQL üzerinden CRUD işlemleri (Query, Mutation)
- Enum ile kategori bazlı kurs filtreleme
- Nested resolver desteği
- Öğrencilerin kurslara puan verebildiği yapı
- Flyway ile versiyonlu veritabanı migration'ları
- PostgreSQL desteği
- Java 21
- Spring Boot 3.4.5
- Spring GraphQL
- PostgreSQL
- Flyway
- Maven
query GetAllCourses {
getAllCourses {
id
title
description
category
averageRating
instructor {
id
firstName
lastName
email
}
enrolledStudents {
id
firstName
lastName
email
}
}
}
query GetStudentById {
getStudentById(id: "") {
id
firstName
lastName
email
enrolledCourses {
title
}
}
}
mutation {
createInstructor(request: {
firstName: "Test"
lastName: "Test"
email: "test@example.com"
title: "Software Developer"
}) {
id
firstName
email
title
}
}
mutation {
createCourse(request: {
title: "GraphQL API with Java Spring Boot"
description: "Learn GraphQL Query, Mutation, Schema, Resolver, Edge"
category: BACKEND
instructorId: ""
}) {
id
title
description
category
}
}