{"id":26224870,"url":"https://github.com/oguzhantekeli06/botas_counting_application_backend","last_synced_at":"2025-10-05T02:56:28.364Z","repository":{"id":253058255,"uuid":"841468369","full_name":"OguzhanTekeli06/Botas_counting_application_backend","owner":"OguzhanTekeli06","description":"spring boot, spring framework","archived":false,"fork":false,"pushed_at":"2024-08-29T19:34:27.000Z","size":60,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-01T19:44:19.182Z","etag":null,"topics":["backend","postgresql-database","spring-boot","springframework"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OguzhanTekeli06.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-12T13:19:29.000Z","updated_at":"2024-10-22T17:47:15.000Z","dependencies_parsed_at":"2024-08-29T21:19:30.823Z","dependency_job_id":"84231cf9-67a7-4157-b2f7-005977e51a6d","html_url":"https://github.com/OguzhanTekeli06/Botas_counting_application_backend","commit_stats":null,"previous_names":["oguzhantekeli06/botas_counting_application_backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OguzhanTekeli06/Botas_counting_application_backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanTekeli06%2FBotas_counting_application_backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanTekeli06%2FBotas_counting_application_backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanTekeli06%2FBotas_counting_application_backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanTekeli06%2FBotas_counting_application_backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OguzhanTekeli06","download_url":"https://codeload.github.com/OguzhanTekeli06/Botas_counting_application_backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OguzhanTekeli06%2FBotas_counting_application_backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278403319,"owners_count":25981014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["backend","postgresql-database","spring-boot","springframework"],"created_at":"2025-03-12T18:28:31.041Z","updated_at":"2025-10-05T02:56:28.344Z","avatar_url":"https://github.com/OguzhanTekeli06.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Untitled](https://github.com/user-attachments/assets/a0ce48df-573c-4c59-9864-39e4e9931ac0)\n\nSpring Boot Nedir?\n\nSpring Boot, Spring Framework'ün bir üst yapısıdır ve Spring tabanlı uygulamaların geliştirilmesini hızlandırmak için tasarlanmıştır. Spring Framework, Java platformu için kapsamlı bir geliştirme çerçevesi sunar ve modüler yapısıyla çeşitli projelerde kullanılabilir. Ancak, Spring Framework'ü konfigüre etmek zaman alıcı olabilir. Spring Boot, bu konfigürasyon sürecini otomatikleştirir ve \"Convention over Configuration\" (yapılandırma yerine varsayılan ayarlar) prensibiyle çalışır. Spring Boot ile, minimal konfigürasyonla hızlı bir şekilde Spring tabanlı bir uygulama başlatılabilir.\n\nSpring Boot ile Spring Framework Arasındaki Farklar:\n\nBaşlangıç Konfigürasyonu:\n\nSpring Framework: Projeye başlarken birçok manuel konfigürasyon gerektirir. XML dosyaları ve Java sınıfları üzerinden yapılan bu konfigürasyonlar zaman alabilir.\nSpring Boot: Otomatik konfigürasyon sağlar. Uygulamayı çalıştırmak için gerekli olan ayarların büyük kısmını kendisi yapar ve geliştiricilere basit bir başlangıç noktası sunar.\nStarter POM'lar:\n\nSpring Framework: İhtiyaç duyulan bağımlılıkları manuel olarak Maven veya Gradle gibi araçlarla eklemek gerekir.\nSpring Boot: \"Starter\" POM dosyaları ile, yaygın kullanılan bağımlılıkları tek bir satırla projeye dahil edebiliriz (örneğin, spring-boot-starter-web).\nGömülü Sunucu:\n\nSpring Framework: Uygulamayı çalıştırmak için bir uygulama sunucusu (Tomcat, Jetty vb.) ayarlamak gerekir.\nSpring Boot: Tomcat, Jetty gibi sunucuları gömülü olarak getirir ve uygulamanın bağımsız bir JAR dosyası olarak çalışmasını sağlar.\nÜretim Hazırlığı:\n\nSpring Framework: Üretim ortamı için ek konfigürasyonlar yapmanız gerekebilir.\nSpring Boot: Sağladığı birçok özellik sayesinde, loglama, hata yönetimi gibi üretim ortamında ihtiyaç duyulan birçok yapı taşını hazır sunar.\nSpring Boot'taki Önemli Yapılar:\n\nController (Denetleyici):\n\nMVC (Model-View-Controller) yapısında, kullanıcı isteklerini işleyen ve uygun bir yanıt döndüren bileşendir. Spring Boot'ta, @RestController veya @Controller anotasyonları ile işaretlenir. @RequestMapping, @GetMapping, @PostMapping gibi anotasyonlar kullanılarak, HTTP istekleri için metotlar tanımlanır.\nEntity (Varlık):\n\nVeritabanındaki tablolarla ilişkilendirilmiş Java sınıflarıdır. Spring Data JPA kullanılarak veritabanı işlemleri yapılır. @Entity anotasyonu ile işaretlenir. Sınıftaki her bir alan, bir veritabanı sütununu temsil eder. Örneğin, @Id, @Column gibi anotasyonlar kullanılır.\nRepository (Depo):\n\nVeritabanı işlemlerini gerçekleştiren bileşendir. Spring Data JPA kullanarak CrudRepository, JpaRepository veya PagingAndSortingRepository arayüzlerinden türetilen arayüzlerle veri erişim işlemleri yapılır. Bu arayüzler, CRUD (Create, Read, Update, Delete) işlemlerini otomatik olarak sağlar.\nService (Hizmet):\n\nİş mantığını barındıran bileşendir. Veritabanı erişimi (Repository) ve denetleyici (Controller) arasındaki iş mantığını buraya yerleştirilir. @Service anotasyonu ile işaretlenir. Uygulama mantığını burada yalıtarak, kontrol ve test edilebilirlik sağlar.\nBu bileşenler, Spring Boot uygulamalarında tipik olarak belirli klasör yapıları altında organize edilir. Örneğin:\n\nsrc/main/java/com/yourpackage/controller — Denetleyiciler\nsrc/main/java/com/yourpackage/entity — Varlıklar\nsrc/main/java/com/yourpackage/repository — Depo sınıfları\nsrc/main/java/com/yourpackage/service — Hizmet sınıfları\nBu yapı, kodun daha düzenli ve anlaşılır olmasını sağlar ve Spring Boot'un otomatik tarama mekanizmaları ile uyumlu çalışır.\n\n\n\nSpring Boot'un faydaları ve artıları, Java ile uygulama geliştirenler için birçok avantaj sunar. İşte Spring Boot'un öne çıkan bazı faydaları:\n\nHızlı Başlangıç:\n\nSpring Boot, önceden yapılandırılmış şablonlar ve otomatik konfigürasyonlarla projelerin hızlı bir şekilde başlamasını sağlar. Minimal ayarla çalışan uygulamalar oluşturabilirsiniz.\n\nKolay Konfigürasyon:\n\nSpring Boot, yapılandırmayı basitleştirir. Varsayılan ayarlarla otomatik olarak çalışır, ancak ihtiyaç duyulduğunda manuel konfigürasyon da yapılabilir. application.properties veya application.yml dosyaları aracılığıyla özelleştirmeler kolayca yapılabilir.\n\nGömülü Sunucu Desteği:\n\nSpring Boot, Tomcat, Jetty, veya Undertow gibi sunucuları gömülü olarak getirir. Bu sayede uygulamanızı bağımsız bir JAR dosyası olarak paketleyebilir ve çalıştırabilirsiniz, harici bir sunucu kurulumuna gerek kalmaz.\n\nKapsamlı Ekosistem ve Entegrasyon:\n\nSpring Boot, Spring Framework'ün geniş ekosistemiyle entegre çalışır. Spring Data, Spring Security, Spring MVC, Spring Batch gibi modüllerle kolay entegrasyon sağlar.\nProduction-Ready (Üretime Hazır) Özellikler:\n\nSpring Boot, uygulamanızı üretim ortamına hazır hale getirmek için bir dizi özellik sunar. Actuator modülü ile uygulama sağlığını izleme, loglama, güvenlik, konfigürasyon özellikleri gibi pek çok üretim seviyesi araç sağlar.\n\nMicroservices (Mikroservisler) için İdeal:\n\nSpring Boot, mikroservis mimarisi için idealdir. Hafif ve bağımsız çalışabilen servisler oluşturmayı kolaylaştırır. Netflix OSS, Spring Cloud gibi araçlarla entegrasyon sağlar.\nGeniş Topluluk ve Destek:\n\nSpring Boot, dünya çapında büyük bir topluluğa sahiptir. Bu, sorunlarla karşılaştığınızda geniş bir destek kaynağına sahip olmanızı sağlar. Ayrıca, Spring Boot ile ilgili birçok eğitim kaynağı ve dokümantasyon bulunmaktadır.\n\nKolay Test Edilebilirlik:\n\nSpring Boot, birim ve entegrasyon testleri yazmayı kolaylaştırır. Gömülü sunucu desteği, test veritabanı konfigürasyonu gibi özelliklerle test süreçlerini hızlandırır.\n\nStarter POM'lar ile Kolay Bağımlılık Yönetimi:\n\nSpring Boot, Starter POM'lar aracılığıyla projeye dahil edilmesi gereken bağımlılıkları kolayca yönetir. Bu, yaygın kullanılan bağımlılıkların tek bir satırda projeye dahil edilmesini sağlar.\n\nAuto Configuration (Otomatik Yapılandırma):\n\nSpring Boot, projedeki bağımlılıkları ve ayarları analiz ederek gerekli konfigürasyonları otomatik olarak yapar. Bu sayede geliştiriciler yalnızca iş mantığına odaklanabilir.\n\nKapsamlı Dokümantasyon:\n\nSpring Boot, kapsamlı ve iyi organize edilmiş bir dokümantasyona sahiptir. Geliştiriciler için çeşitli rehberler, referans dokümanlar ve örnek projeler sunar.\nGeliştirici Verimliliği:\n\nSpring Boot, geliştiricilerin daha az kod yazarak daha fazla iş yapmalarına olanak tanır. Otomatik yapılandırma ve önceden entegre edilmiş bileşenler, geliştirme süresini kısaltır.\nSpring Boot, modern Java uygulamaları geliştirmek için güçlü ve esnek bir platform sunar. Bu faydalar, hem küçük ölçekli projeler hem de büyük, kompleks sistemler için Spring Boot'u ideal bir tercih haline getirir.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foguzhantekeli06%2Fbotas_counting_application_backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foguzhantekeli06%2Fbotas_counting_application_backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foguzhantekeli06%2Fbotas_counting_application_backend/lists"}