Komponent takibi için yeni program çalışması

  • Konuyu başlatan Konuyu başlatan TA3UIS
  • Başlama tarihi Başlama tarihi

TA3UIS

Doğan
Katılım
15 Kasım 2023
Mesajlar
3,096
Komponent takibi programını ücretsiz olarak sunuyorum.
  • Gereksinimler: MySQL 8 ve PHP 7/8

Programı indirmek için [komponent2.rar] linkine tıklayabilir veya bu gönderinin en altındaki komponent2.rar dosyasını bilgisayarınıza ya da hostinginize kurabilirsiniz.

Bu linkten itibaren [TIKLAYIN], ek olarak indireceğiniz projedeki güncellenen dosyalara ulaşabilirsiniz.


Programın aklıma gelen başlıca özellikleri:
  • Satır içi düzenleme fonksiyonu ile bir isme tıklayarak adını değiştirebilir ya da farklı bir kategoriye taşıyabiliriz.
  • Satırın en sağındaki Gözat/Düzenle/Sil butonları ilgili satır üzerinde işlemlerimizi gerçekleştirebiliriz.
  • Üstteki toggle switchler ile istediğimiz sütunu görünür/gizli kılabiliriz.
  • Sütun sıralamalarını değiştirebiliriz isimlerine 2-3 saniye basılı tutup kalıcı olarak diğer sütunların önüne ya da arkasına taşıyıp bırakın.
  • Açılır menülerden seçim yaparak filtreleme yapabiliriz.
  • Arama kutusu ile tüm sütunlarda arama yapabiliriz.
  • Sayfada tek seferde gösterilecek kayıt sayısını belirleyebiliriz.
  • Komponentler için topluca datasheetler PDF, resim, arşiv dosyaları yükleyebiliriz, her komponent için sınırsız sayıda datasheet ekleme işlemi gerçekleştirilebilir.
  • Datasheet leri işaretleyerek topluca ya da tüm Datasheet leri seç diyerek tümünü bir anda silebiliriz.
  • Komponent ekleme ya da düzenleme işlemleri HTML içeriği ile yapılabilir.
  • Giriş yaptıktan sonra parola değiştirme. Giriş ekranında parola değiştirme linki epostası gönderme.


Kurulum aşamaları:
Windows 11 üstüne web sunucusu kurmak için şu linki kullanabilirsiniz:

üsteki kurulum linki ile mysql, php, phpmyadmin, vs kurduktan sonra sunucunuz tam olarak hazır hale gelmelidir, sonraki adımlar:
  • Ekteki komponent2.rar dosyasını indirip web sunucunuzun tanımlı olduğu ana klasöre çıkartın. komponent2 isimli bir klasör ve içinde dosyalar olmalıdır.
  • inc klasöründeki baglan.php dosyasının içindeki kullanici ve parola kısmında değişiklik yapmanız gerek.

    PHP:
    $kullanici = "root" // buraya veritabanı kullanıcı adı gelecek ön tanımlı olarak gelen root kullanacaksanız değiştirmeyin. ;
    $parola = "root şifresi gelecek" // buraya veritabanı şifresi gelecek. root şifresi neyse o, boşsa iki tırnak arasını boş bırakın benim gibi ;

sonraki işlemler...
  1. phpmyadmin içinden veritabanları bölümünden stok isimli bir veritabanı oluşturun karşılaştırma olarak utf8mb4_turkish_ci seçin ve oluştur butonuna basın.

    Ekran görüntüsü 2026-02-11 141300.png




  2. Sol tarafta yeni oluşturduğumuz stok isimli veritabanına tıklayın ve üst taraftaki İçe aktar linkine tıklayın. Dosya Seç kısmından, veritabani klasöründeki stok.sql dosyasını seçin, en alttaki İçe Aktar butonuna basın.

    Ekran görüntüsü 2026-02-11 141636.png




    İçe Aktarma işlemi bittikten sonra stok veritabanı yapısı şu şekilde olmalı.

    1770808989751.png




  3. http://localhost/komponent2/index.php adresine gidin aşağıdaki giriş ekranını görmelisiniz.

    Giriş yaparken ilgili yerlere yazın ve Giriş Yap butonuna basın:
    eposta: test@test.com
    parola: 1

    1770813605112.png

    Giriş yaptıktan sonra Üye > Bilgilerim bölümünden parolanızı değiştirebilirsiniz.

    Giriş yaparken eposta adresi varsayılan olarak test@test.com tanımlıdır, kendi eposta adresinizi kullanmak için soldaki veritabanları kısmındaki stok içinden uye kısmına tıklayıp, eposta bölümündeki test@test.com a çift tıklayıp silin ve kendi epostanızı yazın.

    1770810043703.png





    Anasayfamız şu an boş.
    Komponent eklemeden önce üst menüleri kullanarak sonradan da yapılabilir ama bazı tanımlamalar önceden yapılırsa daha sağlıklı olur, bu tanımlamalar şunlar:

    Paket
    Tedarikçi
    Üretici
    Kategori
    Lokasyon


    1770809960739.png



  4. Komponentleri ekledikten sonra sayfamızın görünümü böyle olur

    1770810990966.png





GİRİŞ SAYFASINDAKİ PAROLA SIFIRLAMA İŞLEMLERİNİN ÇALIŞABİLMESİ İÇİN YAPILMASI GEREKEN İŞLEMLER:

1770813477039.png




Öncelikle stok veritabanındaki uye kısmından test@test.com haricinde kendi epostanızı tanımladığınıza emin olun.

1770810043703.png



Sonraki işlemler:

parola-sifirla.php içindeki ayarlamalar:

Kurulumunuz localhost/komponent2 şeklindeyse aşağıdaki kod yapısını değiştirmeyin.
PHP:
 $mail->Body = "Parola sıfırlama işlemini başlatmak için aşağıdaki linki tıklayın:<br><a href='http://localhost/komponent2/parola-sifirla-islem.php?token=$token'>Parola Sıfırlama Linki</a>";

Kurulumunuz web hosting sitenizde komponent2 klasörü içindeyse örnek:
PHP:
 $mail->Body = "Parola sıfırlama işlemini başlatmak için aşağıdaki linki tıklayın:<br><a href='http://websitem.com/komponent2/parola-sifirla-islem.php?token=$token'>Parola Sıfırlama Linki</a>";



Gerekli yerleri düzenleyin:
SMTP ADRESİNİZ
E-POSTA ADRESİNİZ
EPOSTA ŞİFRENİZ

PHP:
// PHPMailer ile e-posta gönderiyoruz
        try {
            $mail->isSMTP();
            $mail->Host = 'SMTP ADRESİNİZ';  // SMTP sunucu adresini yazın.
            $mail->SMTPAuth = true;
            $mail->Username = 'E-POSTA ADRESİNİZ';  // SMTP kullanıcı adı
            $mail->Password = 'EPOSTA ŞİFRENİZ';  // SMTP şifresi
            $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
            $mail->Port = 587;

            $mail->setFrom('E-POSTA ADRESİNİZ', 'Web Sitesi Adı');
            $mail->addAddress($eposta);

            $mail->isHTML(true);
            $mail->Subject = 'Parola Sıfırlama Talebi';
            $mail->Body = "Parola sıfırlama işlemini başlatmak için aşağıdaki linki tıklayın:<br><a href='http://localhost/komponent2/parola-sifirla-islem.php?token=$token'>Parola Sıfırlama Linki</a>";




SAYFALARIN YAPISI:

Komponent ekleme sayfası

1770814206826.png




Ana sayfa, Komponent listeleme sayfası

1770814281406.png



Bir komponenti daha detaylı inceleme

1770815344212.png



Detaylı inceleme

1770815375946.png




Detaylı inceleme > Ayrıntılar kısmından HTML içeriğine bakma.

1770815411287.png






Satır içi düzenleme, bir isme tıkla

1770815917924.png



Satır içi düzenleme, yeni ismi yaz ve dışarı tıkla
1770815972380.png

Satır içi düzenleme, yeni ismi yaz ve dışarı tıkla, işlem tamam.

1770816097316.png


Satır içi düzenleme, açılır menü işlemi ile yer kategori ağacı değiştirme

1770816178703.png




Açılır pencere ile üzenleme

1770815509585.png




Komponet silme

1770815612647.png


1770815629906.png




Kategori ekleme sayfası:

1770814320348.png



Kategori Listeleme sayfası

1770814341484.png





Paket ekleme sayfası

1770814367889.png





Paket listeleme sayfası:

1770814386959.png






Lokasyon ekleme sayfası

1770814409640.png





Lokasyon listeleme sayfası

1770814430790.png





Üretici ekleme sayfası

1770814451993.png





Üretici listeleme sayfası

1770814470356.png





Tedarikçi ekleme sayfası






1770814533009.png




Tedarikçi listeleme sayfası

1770814571843.png





Datasheet listeleme sayfası

1770814603014.png




Datasheet ekleme sayfası

1770814634100.png





Datasheet iliştirme sayfası

1770814693193.png






Şifre değiştirme sayfası

1770814752023.png


1770814764434.png





Giriş sayfası

1770814802153.png




Parolamı unuttum sayfası

1770814827101.png





Not: Bu program hobi amaçlı kullanım için ücretsizdir. Doğacak aksaklıklardan sorumlu değilim.
İşinize yaraması dileğiyle.
komponent2.rar dosyası ekte mevcut.
 

Ekler

  • Ekran görüntüsü 2026-02-11 142408.png
    Ekran görüntüsü 2026-02-11 142408.png
    14.7 KB · Görüntüleme: 9
  • 1770813537315.png
    1770813537315.png
    14.8 KB · Görüntüleme: 10
  • 1770813598609.png
    1770813598609.png
    14.3 KB · Görüntüleme: 12
  • komponent2.rar
    komponent2.rar
    3.4 MB · Görüntüleme: 28
Son düzenleme:
En önemlisi, veritabanı nereden gelecek?
Yoksa beğendiğimiz komponentleri kendimiz mi kaydedeceğiz?

Bu uygulama, stoğumuzdakileri takip etmek için kullanılacak özel bir amaçla kullanılacaksa, tabi ki elle girilebilir.
 
Bence komponent giriş ekranının en kritik özelliği, çok hızlı veri girebilmek. Form alanlarının hepsi, bir önce girilen veri ile gelmeli ve sadece bir alan değiştirip ENTER'e basabilmeliyiz. Sadece model numarası zorunlu olmalı, diğer herşey opsiyonel olmalı. Mesela diyelim elindeki dirençleri gireceksin veri tabanına. Model adı "Jenerik direnç" olacak, model değerini de 1 Ω dan başlayarak 10 MΩ a kadar değiştirip ENTER'a basa basa bütün dirençleri girebilmeliyiz. Sonradan ayrıntıları (adet, paket, üretici, tedarikçi vs) tamamlayabiliriz. Ama bunları girmeden elimizdeki dirençlerin listesini hızlıca girebilmeliyiz. Her türlü ilave bürokrası, programın kullanımını caydırır.
 
Aslında burada şöyle bir durum da aklıma geliyor: Komponent kategorisine bağlı olarak, hangi alanların gerekli olduğu, hangilerinin opsiyonel olduğu değişebilecek. Mesela zener diyot, direnç, ve kondansatör için, model adı ve değeri gereklidir. Ama transistör için sadece model adı gereklidir.

Bunu veritabanı içinde öyle bir tanımlamak istiyorum ki, kesinlikle kod içerisinde ayrı ayrı tanımlamadan, tamamen veritabanı içerisinde çözmek istiyorum diyelim. Yani "kategori" tablosunun tanımında bir liste olacak, bu liste de "komponent" tablusunda gerekli olan alanları tanımlayacak. Ama bu tanımlamayı yaparken kod duplikasyonu istemiyoruz. Hani mesela komponent tablosunda "ad" ve "değer" alt alanları var. Kategori tablosuna "ad" ve "değer" stringleri koyup buradan alt alanı bulmayacağız. DOĞRUTAN komponent tablosunun alt alanının REFERANSI olacak elimizde, ve bu referans ile doğrudan değiştireceğiz. C deki pointer gibi. Böyle birşey nasıl yapılır?
 
Yani kategori tablosu şöyle:

Kod:
Kategori
    ad (string)
    gerekliler (bir çeşit liste)

Komponent
    kategori
    ad (string)
    değer (string)
    adet (integer)

"gerekliler" listesine doğrudan "ad" "değer" ve "adet" alanlarına erişim sağlayabilecek birşey koyacağız. Başka bir aracı olmadan, o konacak şey üzerinden "ad", "değer" ve "adet" alanlarını değiştirebileceğiz. Böylece sıfır kod duplikasyonu olacak. Yeni kategori eklenince bir kere gerekliler tanımlanacak, yeni kod sürümü gerekmeyecek.
 
Şahsi görüşüm
Kaba cihazlar veya malzemeler olsa bu tür yazılımlar stok tutma yönünden faydalı,

Ancak;
3 diyot almışsın 5 direnç ekleyeceksin .
Bu işler el tutar vakit kaybı olur.
Unutulan olur, kesin rakam tam çıkmaz...
Belki mcu , mosfet veya igbt için geçerli olabilir.
Yine de gereksizdir derim ..bilgisayara giriş yap, çıkış yap.
Zahmetli...
Uygulama yapacak olanlara kolay gelsin....
 
Eğer elinde hangi komponentlerin olduğunu tamamen ezberden biliyorsan, veya kısa sürede elinde komponentlerin tamamını tarayabiliyorsan, tabiki komponent takip programına ihtiyacın olmaz. Bendeki komponent sayısı artık o kadar fazla ki, lazım olan bir komponent elimde var mı yok mu her zaman bilemiyorum. Geçen current sense entegresi ile deney yapmak için elimde yok zannettim, iki tane aldım. Ama sonradan çekmecelere bakarken aldığım komponentten daha iyisinin zaten elimde olduğunu gördüm. Boşuna masraf yapmış oldum.
 
Her bir kalem için stoğa giriş tarihi, maliyeti, ve stok kritik seviyesi de eklenebilir.
 
1735926225669.png


Hocam sanki biraz front-end ve backend güncellemesi ihtiyacı var gibi. Çok üşenip yaptığım projeyide eklemek isterim. Kaynak dosyası verebilirseniz incelemek çok isterim.
 
Biraz vakit bulunca geliştirmeye devam ediyorum, aradan uzun yıllar geçtiği için çoğu şeyi unutsam da bir şeyler çıkıyor yine ortaya galiba :)

Ajax ile aşağıdaki form yollandığında, aşağıda seçili gelen form alanlarının otomatik tekrar seçilmesi yeterli galiba.
Komponent kaydetme kısmı bitti sayılır.

Aşağıdaki alanları zorunlu olmaktan çıkarmayı düşünüyorum.
  • Ek Bilgi
  • Dosya


1736022644543.png
 
Komponent ekleme kısmı bitti sayılır.

Ekleme bölümü olarak aşağıdaki ekleme kısımlarının kodlarını yazmak kaldı. Fırsat bulunca hemen yapacağım kısmetse.
  1. Kategori
  2. Lokasyon
  3. Üretici
  4. Tedarikçi
  5. Paket
 
Komponent ekleme ekranı aşağıdaki şekliyle bitti.
İlave olarak Komponent eklendikten sonra daha hızlı veri girilebilmesi için Komponent Adı bölümüne otomatik imleç yerleşimi yaptım, her seferinde oraya tıklamaya gerek kalmadı, son değerler seçili olarak sadece Komponent adı yazıp Enter ile hızlıca veritabanına kaydediliyor.

Komponent adı kısmında diyelim direnç ekliyoruz, direnç değeri olarak 100 yazıp, Ω, kΩ, yada MΩ değerleri ve toleransı, watt gibi değerler Komponent Adı kısmının yanında Paket kısmı gibi bir açılır menüden mi seçilsin ya da örnek 100 kΩ 1W 10% tolerans şeklinde el ile mi yazalım?
Aynı şey diğer toleranslı tüm komponentler için de geçerli, nasıl yapalım?

1736062575953.png
 
Son düzenleme:
Mesela direnç değerleri girerken sadece rakam, m, k, ve M ile milli, kilo, ve Mega ifade edilebilir. Kapasitör ve endüktör için de aynı durum var. Tolerans ve güç doğrudan değerden parse edilebilir belirttiğin gibi, ama opsiyonel olmalı bence. Ama drop down list seçimine bence gerek yok. Bir seri direnç girerken "tolerans" diye ayrı bir alana %1 set edersin sonra da harıl harıl direnç girersin. Elimizdeki çoğu noname kapasitör için toleransın ne olduğunu bile bilmiyoruz, o alan boş bırakılacak tabiki.
 

Forum istatistikleri

Konular
8,951
Mesajlar
145,407
Üyeler
3,605
Son üye
baxbax

Son kaynaklar

Back
Top