Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Education Management System (GraphQL API)

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.

🚀 Özellikler

  • 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

🛠️ Kullanılan Teknolojiler

  • Java 21
  • Spring Boot 3.4.5
  • Spring GraphQL
  • PostgreSQL
  • Flyway
  • Maven

🔍 GraphQL Arayüzü

Örnek query

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
        }
    }
}

Örnek Mutation

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
  }
}

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages