Erpnextkta
ERPNextKTA, KTA Endüstri Sistemleri için geliştirilen ERPNext/Frappe tabanlı özelleştirilmiş bir üretim, kalite ve operasyon yönetimi uygulamasıdır.
- Author: KTA-Endustri-Sistemleri
- Repository: https://github.com/KTA-Endustri-Sistemleri/erpnextkta
- GitHub stars: 0
- Forks: 0
- License: MIT
- Category: Manufacturing
- Maintenance: Actively Maintained
- Frappe versions: develop
Install Erpnextkta
bench get-app https://github.com/KTA-Endustri-Sistemleri/erpnextkta
Add the Frappe Gems badge to your README
Maintain Erpnextkta? Paste this into your README:
[](https://frappegems.com/gems/apps/KTA-Endustri-Sistemleri/erpnextkta)
About Erpnextkta
# 📦 ERPNEXTKTA – Custom App
ERPNextKTA, KTA Endüstri Sistemleri için geliştirilen ERPNext/Frappe tabanlı özelleştirilmiş bir üretim, kalite ve operasyon yönetimi uygulamasıdır.
Uygulama; iş emirleri, iş kartları, operasyon akışları, üretim planlama, kesim formları, tarama sistemleri (QR Scanner) ve şirket içi özel süreçlerin tamamını dijitalleştirmek amacıyla tasarlanmıştır.
---
Bu bölüm, ERPNextKTA uygulamasını kullanacak son kullanıcılar için sade bir genel bakış sunar. ### 📖 Kullanım Kılavuzları - 🚀 [KTA Çalışma Kartı Kullanım Kılavuzu](docs/kta_calisma_karti_kilavuzu.html) - 📏 [KTA Kalite Yönetimi Kılavuzu](docs/kta_kalite_kilavuzu.html) ## 🎯 ERPNextKTA Nedir? ERPNextKTA, standart ERPNext işleyişine ek olarak aşağıdaki alanlarda kapsamlı geliştirmeler içerir: ### 🔧 Üretim & Operasyon Yönetimi - Gelişmiş İş Kartı (Job Card) akışı - Çoklu operatör desteği - Alt operasyon tanımlama - **Dinamik Duruş Yönetimi**: Duruşların (Planlı, Plansız, Sistem) merkezi tablodan yönetimi ve analizleri - Detaylı zaman ve adet kayıtları - Üretim saha süreçlerinde hız ve doğruluk artışı ### 🏭 Kesim & Forma Yönetimi - Müşteri gruplarına göre otomatik dosya klasörleme - Kesim formlarının ürün ve BOM'lara otomatik eşlenmesi - PDF işleme & otomatik adlandırma ### 📦 Stok & Lojistik - Gelişmiş negatif stok kuralları - Üretimden otomatik giriş/çıkış hareketleri - Üretim planlama için veri hazırlığı ### 📱 QR Scanner Entegrasyonu - Masaüstü + Mobil tarama desteği - Duplicate ve hız kontrol mekanizması - Otomatik hata yönetimi & kullanıcıya anlık geri bildirim - **Krimp & Test Masası Kontrolü**: Krimp Book (Referans Kütüphanesi) ve Test Masası Poke-Yoke sistemleri ### 🔍 Kalite Kontrol (KTA Quality) - **Krimp Book**: 1500+ kayıtlık teknik referans kütüphanesi - **Test Masası Doğrulama**: 17 maddelik otomatik Poke-Yoke kontrol listesi - **Krimp Yükseklik Parametreleri**: Terminal bazlı dinamik kısıtlamalar ### 📊 Yönetici Araçları - Özel raporlar - İç süreçlere uygun iş akışları - Kullanıcı dostu ekranlar - Dinamik yetki yönetimi (Admin Rolleri Konfigürasyonu) - **Duruş Nedenleri & Otomasyon**: Sistem duruşlarının (Zaman Aşımı vb.) ve manuel nedenlerin merkezi kontrolü
---
Bu bölüm, projeye katkıda bulunacak veya geliştirme ortamında çalışacak geliştiricilere yöneliktir. Tüm semantic-release, CI/CD, versiyonlama, commit standartları ve proje teknik detayları burada yer alır. --- # 📦 Semantic Release & Conventional Commit Rehberi **ERPNextKTA – Otomatik Versiyonlama, Yayın Süreci ve Commit Standartları** Bu proje, otomatik versiyonlama, otomatik tag oluşturma, otomatik CHANGELOG üretimi ve GitHub Release entegrasyonu için python-semantic-release kullanmaktadır. Buna ek olarak, commit mesajları tamamen Conventional Commits standardına göre yazılmalıdır. Bu iki yapı birlikte çalışarak: ✔ Versiyonlamayı otomatize eder ✔ Changelog'u otomatik üretir ✔ Dağıtımı standartlaştırır ✔ Kod kalitesini artırır ✔ Production ERPNext uygulaması için net bir sürüm takibi sağlar --- ## 🚀 Özellikler - Commit mesajlarına göre otomatik versiyon artırma -
BREAKING CHANGE:
```
---
### Commit Türleri
| Type | Açıklama | Semantic Release |
|----------|--------------------|------------------|
| feat | Yeni özellik | minor bump |
| fix | Hata düzeltme | patch bump |
| refactor | Yapısal değişiklik | bump yok |
| perf | Performans | bump yok |
| docs | Dokümantasyon | bump yok |
| style | Format | bump yok |
| test | Testler | bump yok |
| chore | Yapılandırma | bump yok |
| ci | CI/CD | bump yok |
---
### Önerilen Scope’lar
-
👥 1) Kullanıcılar İçin
Bu bölüm, ERPNextKTA uygulamasını kullanacak son kullanıcılar için sade bir genel bakış sunar. ### 📖 Kullanım Kılavuzları - 🚀 [KTA Çalışma Kartı Kullanım Kılavuzu](docs/kta_calisma_karti_kilavuzu.html) - 📏 [KTA Kalite Yönetimi Kılavuzu](docs/kta_kalite_kilavuzu.html) ## 🎯 ERPNextKTA Nedir? ERPNextKTA, standart ERPNext işleyişine ek olarak aşağıdaki alanlarda kapsamlı geliştirmeler içerir: ### 🔧 Üretim & Operasyon Yönetimi - Gelişmiş İş Kartı (Job Card) akışı - Çoklu operatör desteği - Alt operasyon tanımlama - **Dinamik Duruş Yönetimi**: Duruşların (Planlı, Plansız, Sistem) merkezi tablodan yönetimi ve analizleri - Detaylı zaman ve adet kayıtları - Üretim saha süreçlerinde hız ve doğruluk artışı ### 🏭 Kesim & Forma Yönetimi - Müşteri gruplarına göre otomatik dosya klasörleme - Kesim formlarının ürün ve BOM'lara otomatik eşlenmesi - PDF işleme & otomatik adlandırma ### 📦 Stok & Lojistik - Gelişmiş negatif stok kuralları - Üretimden otomatik giriş/çıkış hareketleri - Üretim planlama için veri hazırlığı ### 📱 QR Scanner Entegrasyonu - Masaüstü + Mobil tarama desteği - Duplicate ve hız kontrol mekanizması - Otomatik hata yönetimi & kullanıcıya anlık geri bildirim - **Krimp & Test Masası Kontrolü**: Krimp Book (Referans Kütüphanesi) ve Test Masası Poke-Yoke sistemleri ### 🔍 Kalite Kontrol (KTA Quality) - **Krimp Book**: 1500+ kayıtlık teknik referans kütüphanesi - **Test Masası Doğrulama**: 17 maddelik otomatik Poke-Yoke kontrol listesi - **Krimp Yükseklik Parametreleri**: Terminal bazlı dinamik kısıtlamalar ### 📊 Yönetici Araçları - Özel raporlar - İç süreçlere uygun iş akışları - Kullanıcı dostu ekranlar - Dinamik yetki yönetimi (Admin Rolleri Konfigürasyonu) - **Duruş Nedenleri & Otomasyon**: Sistem duruşlarının (Zaman Aşımı vb.) ve manuel nedenlerin merkezi kontrolü
🧑💻 2) Geliştiriciler İçin
Bu bölüm, projeye katkıda bulunacak veya geliştirme ortamında çalışacak geliştiricilere yöneliktir. Tüm semantic-release, CI/CD, versiyonlama, commit standartları ve proje teknik detayları burada yer alır. --- # 📦 Semantic Release & Conventional Commit Rehberi **ERPNextKTA – Otomatik Versiyonlama, Yayın Süreci ve Commit Standartları** Bu proje, otomatik versiyonlama, otomatik tag oluşturma, otomatik CHANGELOG üretimi ve GitHub Release entegrasyonu için python-semantic-release kullanmaktadır. Buna ek olarak, commit mesajları tamamen Conventional Commits standardına göre yazılmalıdır. Bu iki yapı birlikte çalışarak: ✔ Versiyonlamayı otomatize eder ✔ Changelog'u otomatik üretir ✔ Dağıtımı standartlaştırır ✔ Kod kalitesini artırır ✔ Production ERPNext uygulaması için net bir sürüm takibi sağlar --- ## 🚀 Özellikler - Commit mesajlarına göre otomatik versiyon artırma -
erpnextkta/__init__.py içindeki __version__ değerinin otomatik güncellenmesi
- Otomatik Git tag (ör. v0.4.0, v1.0.0)
- Otomatik CHANGELOG.md
- Otomatik GitHub Release
- Lokal makinede Node.js gerekmez
- CI/CD (GitHub Actions) ile tam entegre
- ERPNext/Frappe ile uyumlu sürüm takibi
---
## 🧩 Semantic Release Çalışma Mantığı
Semantic Release commit mesajlarını analiz eder ve üç tip değişiklikten birine göre sürüm artırır:
| Commit Prefix | Versiyon Türü | Semantic-release davranışı |
|------------------------|-------------------------|-----------------------------------|
| fix: | Patch (x.y.z → x.y.z+1) | Hata düzeltmesi |
| feat: | Minor (x.y.z → x.y+1.0) | Yeni özellik |
| BREAKING CHANGE: | Major (x.y.z → x+1.0.0) | Geriye dönük uyumsuz değişiklik |
Commit mesajları Conventional Commits standardına uygun olmalıdır.
---
## ✔️ Versiyon Bilgisi
Sürüm numarası yalnızca:
```text
erpnextkta/__init__.py
```
dosyasında tutulur:
```python
__version__ = "0.0.1"
```
Semantic Release bu değeri otomatik günceller.
---
## 📁 Yapılandırma (pyproject.toml)
```toml
[tool.semantic_release]
version_variables = ["erpnextkta/__init__.py:__version__"]
commit_parser = "conventional"
tag_format = "v{version}"
[tool.semantic_release.remote]
name = "origin"
type = "github"
token = { env = "GH_TOKEN" }
ignore_token_for_push = false
insecure = false
branch = "main"
```
---
## 🤖 GitHub Actions Pipeline
.github/workflows/release.yml:
```yaml
name: Semantic Release
on:
push:
branches:
- main
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install python-semantic-release
run: |
python -m pip install --upgrade pip
pip install python-semantic-release
- name: Run Semantic Release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
semantic-release version --push --vcs-release
```
---
## ✍️ Conventional Commit Rehberi
Commit formatı:
```text
(scope):
BREAKING CHANGE:
```
---
### Commit Türleri
| Type | Açıklama | Semantic Release |
|----------|--------------------|------------------|
| feat | Yeni özellik | minor bump |
| fix | Hata düzeltme | patch bump |
| refactor | Yapısal değişiklik | bump yok |
| perf | Performans | bump yok |
| docs | Dokümantasyon | bump yok |
| style | Format | bump yok |
| test | Testler | bump yok |
| chore | Yapılandırma | bump yok |
| ci | CI/CD | bump yok |
---
### Önerilen Scope’lar
- job-card
- work-order
- qr-scanner
- doctype:<name>
- client
- server
- api
- hooks
---
### Örnek Commit Mesajları
#### Patch
```text
fix(work-order): incorrect status calculation when job cards paused
```
#### Minor
```text
feat(job-card): add operator assignment validation
```
#### Major
```text
feat(api): new time log schema
BREAKING CHANGE: old time_logs format is no longer supported
```
#### Refactor
```text
refactor(qr): extract scanner state logic
```
#### Docs
```text
docs: update semantic release installation guide
```
---
## 🚫 Kaçınılması Gereken Commit Mesajları
- update code
- fixing issues
- temp
- deneme
- aaa
- final
---
## 📦 Production Deploy
- Git tag oluşturulduğunda production git pull ile yeni sürümü otomatik alır
- ERPNext App Versions ekranı otomatik güncellenir
- CHANGELOG.md güncel olur
---
# 🛠️ Test Otomasyonu ve Kalite Kontrol (QA)
ERPNextKTA projesi, kod kalitesini korumak ve regresyonu önlemek için kapsamlı bir test altyapısına sahiptir.
## 🧪 Birim Testleri (Unit Tests)
Uygulamanın mantıksal doğruluğunu test etmek için Frappe'nin yerleşik test runner'ı kullanılır.
### Manuel Test Çalıştırma
Spesifik bir modülü test etmek için:
```bash
bench --site [site-adı] run-tests --module erpnextkta.kta_calisma_karti.doctype.calisma_karti.test_calisma_karti
```
### VS Code Entegrasyonu
`.code-workspace` dosyasındaki tanımlı görevler sayesinde:
- **KTA: Run Specific Test (Local)**: Terminale girmeden doğrudan aktif testi koşturur.
- **KTA: Local CI Simulation (act)**: GitHub ortamını yerelde simüle eder.
---
## 🤖 CI/CD ve Otomatik Testler
Her `push` ve `Pull Request` işleminde `.github/workflows/tests.yml` akışı otomatik olarak tetiklenir.
### İşleyiş:
1. **Ortam Hazırlığı:** Ubuntu konteyner üzerinde MariaDB ve Redis servisleri ayağa kaldırılır.
2. **Bağımlılıkların Kurulumu:** ERPNext ve gerekli tüm yan uygulamalar (trtaxoffices vb.) temiz bir şekilde kurulur.
3. **Otomatik Test Koşumu:** Tüm unit testler izole bir veri tabanı üzerinde koşturulur.
4. **Sonuç Raporlama:** Başarısız testler Pull Request aşamasında bloklanır.
---
## 🎭 Yerel CI Simülasyonu (`act`)
GitHub sunucularına kod göndermeden önce tüm test sürecini kendi makinenizde (Docker üzerinde) deneyebilirsiniz.
### Ön Gereksinimler:
- Docker yüklü olmalıdır.
- `act` aracı sistemde kurulu olmalıdır.
### Çalıştırma:
```bash
act -j tests
```
*Not: Yerel Redis/MariaDB portlarıyla çakışma yaşanmaması için workflow dosyasında port remapping (33066, 11001, 13001) uygulanmıştır.*
---
## 🎉 Sonuç
Bu yapı sayesinde:
- Manuel versiyon artırma yok
- Manuel tag yok
- Otomatik changelog
- Standart commit formatı
- Daha güvenli deployment
- ERPNext/Frappe ile tam uyumlu bir geliştirme süreci
Related Manufacturing apps for Frappe & ERPNext
- Frappe Manager — The production platform for Frappe/ERPNext. Automatic TLS, versioned migrations, worker orchestration, isolated benches. Everything from a single CLI.
- Process Manufacturing — PROCESS MANUFACTURING
- Textile — Textile App for ERPNext
- Aumms — AuMMS ( Aurum Manufacturing Management System ) is a Frappe App to facilitate the Operations in Gold Manufacturing
- Next Pms —
- Frappe Gmail Thread — Gmail thread tracking app
- Frappe Search — Frappe Search enables powerful, global search functionality across your custom Frappe apps.
- Erpnext Mrp — MRP Tools for ERPNext