{"id":19871455,"url":"https://github.com/birkankaraer/havaaraciuretim_django","last_synced_at":"2026-04-08T12:33:51.270Z","repository":{"id":258060476,"uuid":"872690535","full_name":"birkankaraer/havaaraciuretim_django","owner":"birkankaraer","description":"Developed in Python language and using Django framework, this application is designed to manage the aircraft manufacturing process. The application was developed specifically for Baykar company's position evaluation.","archived":false,"fork":false,"pushed_at":"2024-10-16T03:17:37.000Z","size":1993,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-05T00:33:26.147Z","etag":null,"topics":["bootstrap","css","django","django-rest-framework","docker","html","jquery","postgresql","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/birkankaraer.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-10-14T22:31:47.000Z","updated_at":"2025-07-10T19:51:39.000Z","dependencies_parsed_at":"2024-10-18T04:30:21.629Z","dependency_job_id":null,"html_url":"https://github.com/birkankaraer/havaaraciuretim_django","commit_stats":null,"previous_names":["birkankaraer/havaaraciuretim_django"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/birkankaraer/havaaraciuretim_django","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/birkankaraer%2Fhavaaraciuretim_django","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/birkankaraer%2Fhavaaraciuretim_django/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/birkankaraer%2Fhavaaraciuretim_django/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/birkankaraer%2Fhavaaraciuretim_django/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/birkankaraer","download_url":"https://codeload.github.com/birkankaraer/havaaraciuretim_django/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/birkankaraer%2Fhavaaraciuretim_django/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31556233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bootstrap","css","django","django-rest-framework","docker","html","jquery","postgresql","python"],"created_at":"2024-11-12T16:12:22.434Z","updated_at":"2026-04-08T12:33:51.229Z","avatar_url":"https://github.com/birkankaraer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hava Aracı Üretim Uygulaması Dökümantasyonu\n\n## Proje Amacı:\nHava Aracı Üretim Uygulaması, belirli takımlara ayrılmış personellerin uçak üretim sürecini yönetmesi için geliştirilmiştir. Her takımın belirli parçaları üretme yetkisi vardır ve Montaj Takımı, bütün bu parçaları bir araya getirerek uçak montajını gerçekleştirir. Parçaların stok durumu, üretim kapasitesi ve montaj süreçleri kontrol edilir, eksiklik durumlarında uyarılar verilir.\n\nBu proje, SOLID prensipleri ve DRY prensiplerine uyularak, yazılım mimarisine uygun bir şekilde geliştirilmiştir. Projede modüler yapı ve bağımlılıkların düşük seviyede tutulması hedeflenmiş, her bileşen kendi sorumluluk alanında olacak şekilde organize edilmiştir.\n\n## Uygulama İsterleri\n**Parçalar:**\n- Kanat\n- Gövde\n- Kuyruk\n- Aviyonik\n\n**Uçak Modelleri:**\n- TB2\n- TB3\n- AKINCI\n- KIZILELMA\n\n**Takımlar:**\n- Kanat Takımı\n- Gövde Takımı\n- Kuyruk Takımı\n- Aviyonik Takımı\n- Montaj Takımı\n\n## Fonksiyonalite\n**Personel giriş ekranı:** Personeller sisteme giriş yaparak takımlarına ve rollere göre erişim kazanır.\n![personelgiris](https://github.com/user-attachments/assets/45383e9f-648b-47a1-b2ad-5ea6eaf54dad)\n\n**Personelin takımı:** Her personel bir takıma bağlıdır ve birden fazla personel aynı takımda yer alabilir.\n![birtakımdabirdenfazlapersonel](https://github.com/user-attachments/assets/9441f702-3fee-4fc5-930e-f5f1e6187ddd)\n\n**Takımların kendi parçalarını üretme, listeleme ve geri dönüşüme gönderme işlemleri (CRUD):** Her takım sadece sorumlu olduğu parçaları üretebilir, listeleyebilir ve stok azaldığında geri dönüşüme gönderebilir.\n- Üretme  \n![parcauretme](https://github.com/user-attachments/assets/bd9c0bc1-2a79-4e4f-918c-1595ab142388)\n- Listeleme  \n![parcalisteleme](https://github.com/user-attachments/assets/20b30fee-2421-4851-9abe-a22ec8e3e7e6)\n- Geri dönüşüme gönderme  \n![parcageridonusum](https://github.com/user-attachments/assets/8a903454-9ff6-478e-b885-d01b35562e79)\n\n**Takımların sadece sorumlulukları dahilindeki parçaları üretmesi:** Her takım, yalnızca sorumlu olduğu parçayı üretir.\n![parcauretmekuralı](https://github.com/user-attachments/assets/619c13b0-533f-4f17-ba1d-96c9364027d2)\n\n**Montaj Takımı:** Montaj Takımı, üretilen parçaları kullanarak uçak montajını gerçekleştirir.\n![montajbasarılı](https://github.com/user-attachments/assets/9ab843cc-45d8-41a8-98c4-18c23fc6030d)\n\n**Envanterde eksik parça uyarıları:** Eksik parça olduğunda sistem kullanıcıya uyarı verir.\n![envantereksikparcalar](https://github.com/user-attachments/assets/e245f009-c28a-42b8-804b-0cc8fa7b9de8)\n\n**Parça-Uçak Eşleşmesi:** Her parça, belirli bir uçağa özeldir.\n![ucakmontaj](https://github.com/user-attachments/assets/40574f6e-37bd-4c08-a5e0-7a8e967826c6)\n\n**Kullanılan Parçaların Takibi:** Montaj sonrası kullanılan parçalar ve uçak bilgisi kaydedilir.\n![montajrapor](https://github.com/user-attachments/assets/47d61e63-6319-4c23-a64c-38218d672ad6)\n\n**Veritabanı Şeması** Veritabanı şeması.\n![veritabanısemasi](https://github.com/user-attachments/assets/cf81239c-a441-415a-9041-95985bab4c45)\n\n\n## Bonus Özellikler\n- **Docker ile Çalışma:** Proje Docker ile ayağa kaldırılabilir.\n- **İyi Hazırlanmış Dökümantasyon:** Proje dökümantasyonu ve yorum satırları detaylıdır.\n- **Birim Testi:** Temel fonksiyonlar için birim testleri yazılmıştır.\n- **DataTable Kullanımı:** Listeleme sayfalarında DataTable kullanılmıştır.\n- **Server-side DataTable:** Büyük veri setlerinde performanslı veri işlemleri sağlanmıştır.\n- **Asenkron Yapı (Ajax):** Sayfa yenilemeden asenkron işlemler yapılmıştır.\n- **İlişkisel Tablolar:** İlişkisel tablolar veritabanında ayrı tutulmuştur.\n- **Ekstra Kütüphaneler:** Django Rest Framework ve Swagger kullanılmıştır.\n- **Bootstrap, Tailwind, jQuery Kullanımı:** Ön yüz düzenlemelerinde bu teknolojiler kullanılmıştır.\n- **API Dokümantasyonu (Swagger):** Tüm API’ler Swagger ile belgelenmiştir.\n\n## Kullanılan Teknolojiler\n- **Python**: Uygulama altyapısında kullanılan ana programlama dili.\n- **Django**: Web uygulama çerçevesi olarak Django kullanıldı.\n- **PostgreSQL**: Veritabanı yönetimi için PostgreSQL kullanıldı.\n- **Django Rest Framework**: API geliştirme ve yönetimi için Django Rest Framework kullanıldı.\n- **Bootstrap**: Sayfa düzeni ve stil tasarımı için Bootstrap kullanıldı.\n- **Tailwind CSS**: Ön yüz tasarımında kullanılan CSS framework.\n- **jQuery**: Dinamik ön yüz işlemleri için jQuery kullanıldı.\n- **Swagger**: API dokümantasyonunu sağlamak için Swagger kullanıldı.\n- **Docker**: Projenin container ortamında çalıştırılması için Docker kullanıldı (opsiyonel).\n- **pgAdmin4**: PostgreSQL veritabanı yönetimi için pgAdmin4 kullanıldı.\n- **DBDiagram**: Veritabanı tasarımı için dbdiagram.io kullanıldı.\n- **ChatGPT**: Kod yapısının planlanması, yorumlanması, düzenlenmesi ve projeye dair yazılımsal sorunları çözme süreçlerinde destek teknolojisi olarak kullanıldı.\n\n## Veritabanı Tasarımı\nVeritabanı tasarımı yapılırken dbdiagram.io kullanılarak ilişkiler doğru bir şekilde modellenmiştir. Proje many-to-many ilişkiler ve code-first yaklaşımları kullanarak geliştirilmiştir. Her model, projedeki işlevsellikleri karşılayacak şekilde tasarlanmış ve bu modellemeye uygun olarak PostgreSQL üzerinde yapılandırılmıştır. Veritabanı yönetimi için pgAdmin4 kullanılarak tablo oluşturma, veri ekleme ve SQL sorguları yönetilmiştir. Bu süreçte SQL komutlarıyla veritabanı işlemleri yönetilmiş, veritabanı migration'ları da Django üzerinden gerçekleştirilmiştir.\n\n## SOLID ve DRY Prensiplerine Uyum\nProjede yazılım geliştirme süreçlerinde SOLID prensiplerine dikkat edilmiştir. Tek Sorumluluk İlkesi (Single Responsibility Principle), her modelin ve sınıfın sadece tek bir işlevi yerine getirmesi gerektiğini savunur. Buna dayanarak, her sınıfın sorumlulukları belirlenmiş ve birbirinden ayrılmıştır. Aynı zamanda, Don't Repeat Yourself (DRY) prensibiyle tekrarlayan kodlardan kaçınılmış, yeniden kullanılabilirlik ön planda tutulmuştur. Bu sayede modüler ve genişletilebilir bir yapı kurulmuştur.\n\n## ChatGPT Desteği\nBu proje boyunca ChatGPT teknolojisinden büyük ölçüde yararlanıldı. Özellikle aşağıdaki alanlarda ChatGPT aktif olarak kullanıldı:\n- **Kod Düzenleme ve Optimize Etme:** Proje boyunca kodların okunabilirliğini artırma, SOLID ve DRY prensiplerine uygun hale getirme konusunda ChatGPT’den destek alındı.\n- **Yorum Satırları:** Kod yapısına uygun ve anlamlı yorum satırları eklenmesi sürecinde ChatGPT kullanılarak kodların açıklamaları yazıldı.\n- **Dokümantasyon Hazırlama:** Proje dökümantasyonunun düzenlenmesi, eksikliklerin giderilmesi ve açıklamaların netleştirilmesi için ChatGPT’den faydalanıldı.\n- **Hataların Çözümü:** Proje geliştirilirken karşılaşılan teknik sorunların çözümü için ChatGPT rehberlik etti ve sorunsuz ilerlemeye katkıda bulundu.\n- **Test Yazımı:** Birim testlerin yazımı, fonksiyonların test edilmesi ve yapılandırılması sürecinde ChatGPT destek verdi.\n\n## Projenin Geliştirme Süreci\nProjeye başlamadan önce proje gereksinimleri detaylı bir şekilde analiz edilmiş ve gereksinimlere uygun bir geliştirme planı oluşturulmuştur. \n\nProje boyunca aşağıdaki adımlar izlenmiştir:\n1. **Planlama:** Proje gereksinimlerine göre yazılım mimarisi ve veri modelleme yapılmıştır.\n2. **Veritabanı Tasarımı:** Veritabanı ilişkileri dbdiagram.io üzerinde planlanmış, ardından PostgreSQL üzerinde uygulamaya geçirilmiştir.\n3. **Modelleme:** Django’nun code-first yaklaşımıyla modeller oluşturulmuş ve many-to-many ilişkiler eklenmiştir.\n4. **Uygulama Geliştirme:** Gereksinimlere göre uygulamanın tüm fonksiyonları kodlanmış, her bileşenin sorumluluğu doğru bir şekilde belirlenmiştir.\n5. **Testler:** Birim testleri yazılarak kritik fonksiyonların doğru çalıştığından emin olunmuştur.\n6. **Dokümantasyon:** Proje boyunca her adım detaylı bir şekilde belgelenmiş ve kod yapısı yorum satırlarıyla açıklanmıştır.\n7. **ChatGPT Desteği:** Yukarıda açıklanan alanlarda ChatGPT’den yardım alınarak proje daha verimli bir şekilde tamamlanmıştır.\n\n\u003ch3\u003eKurulum\u003c/h3\u003e\n\nProjeyi klonlayın\n```\ngit clone\n```\n\nProje dizine gidin\n```\ncd havaaraciuretim_django\n```\n\nProje bağımlılıklarını yükleyin\n```\npip install -r requirements.txt\n```\n\nsetting.py dosyasında veritabanı bağlantısı ayarlarınızı yapın.\n```\nDATABASES = {\n    'default': {\n        'ENGINE': 'django.db.backends.postgresql',\n        'NAME': 'hava_araci_uretim', # PostgreSQL veritabanı adı\n        'USER': 'postgres', # PostgreSQL kullanıcı adı\n        'PASSWORD': 'Data1234', # PostgreSQL şifre\n        'HOST': 'localhost', # Yerel PostgreSQL sunucusu\n        'PORT': '5432', # PostgreSQL port numarası\n    }\n}\n```\nMigration işlemlerini yapalım\n\n```\npython manage.py migrate\n```\n\nÇalıştıralım\n```\n python manage.py runserver\n```\n\n\u003ch3\u003eDocker ile Projeyi Ayağa Kaldırma\u003c/h3\u003e\nProje Docker ile çalıştırılmak üzere yapılandırılmıştır. Gerekli adımları izleyerek projeyi Docker üzerinde ayağa kaldırabilirsiniz.\n\n## Sonuç:\nProje, tüm gereksinimleri ve bonus özellikleri yerine getirmekte olup, genişletilebilir altyapısı ve detaylı dokümantasyonu ile sorunsuz bir üretim yönetim sistemi sunmaktadır. Bu süreçte ChatGPT'nin büyük katkılarıyla proje daha hızlı ve verimli bir şekilde tamamlanmıştır.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbirkankaraer%2Fhavaaraciuretim_django","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbirkankaraer%2Fhavaaraciuretim_django","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbirkankaraer%2Fhavaaraciuretim_django/lists"}