Python ile Kişisel Alışkanlık Takip ve Verimlilik Analiz Sistemi

Python ile Kişisel Alışkanlık Takip ve Verimlilik Analiz Sistemi

Kişisel gelişim ve verimlilik takibi günümüzde hem öğrenciler hem de profesyoneller için oldukça önemli hale gelmiştir. Bu nedenle Python ile geliştirilen alışkanlık takip uygulamaları, kullanıcıların günlük rutinlerini kontrol etmelerine ve uzun vadeli hedeflerine ulaşmalarına yardımcı olur. Bu projede Python kullanarak terminal tabanlı bir alışkanlık takip ve verimlilik analiz sistemi geliştireceğiz. Kullanıcılar günlük alışkanlıklarını ekleyebilir, tamamladıkları görevleri işaretleyebilir ve haftalık olarak performanslarını analiz edebilir. Özellikle zaman yönetimi ve kişisel gelişim alanına odaklanan bu proje, hem başlangıç hem de orta seviye Python geliştiricileri için portfolyoya eklenebilecek güçlü bir çalışmadır. Gerçek hayatta kullanılabilir olması sayesinde iş başvurularında ve GitHub projelerinde dikkat çekici bir değer oluşturur.

Bu Python alışkanlık takip sistemi geliştirilirken birçok temel programlama konsepti aktif olarak kullanılmaktadır. Proje içerisinde if-else koşul yapıları, while döngüleri, fonksiyonlar, liste ve sözlük veri yapıları ile birlikte dosya işlemleri kullanılmaktadır. Ayrıca JSON formatı sayesinde kullanıcı verileri kalıcı olarak saklanmakta ve uygulama kapansa bile bilgiler kaybolmamaktadır. Bu yapı, gerçek dünya yazılım sistemlerinin temel mantığını anlamak için oldukça önemlidir. Kullanıcıdan veri alma, veri güncelleme, ilerleme takibi ve raporlama gibi işlemler sayesinde proje sadece teorik bir çalışma olmaktan çıkar ve gerçek bir dijital asistan uygulamasına dönüşür. Ayrıca kodun modüler yapısı sayesinde ilerleyen aşamalarda grafiksel arayüz (Tkinter), mobil uyumluluk veya web tabanlı versiyon geliştirmek oldukça kolaydır. Bu proje özellikle Python öğrenen geliştiricilerin algoritma mantığını geliştirmesi ve yazılım düşünme becerilerini güçlendirmesi açısından oldukça faydalıdır.


import json
import os
from datetime import datetime

DOSYA_ADI = "alisanliklar.json"

def verileri_yukle():
    if os.path.exists(DOSYA_ADI):
        with open(DOSYA_ADI, "r", encoding="utf-8") as dosya:
            return json.load(dosya)
    return []

def verileri_kaydet(veriler):
    with open(DOSYA_ADI, "w", encoding="utf-8") as dosya:
        json.dump(veriler, dosya, ensure_ascii=False, indent=4)

def aliskanlik_ekle(veriler):
    isim = input("Alışkanlık adı: ")
    hedef = int(input("Günlük hedef (kaç kez yapılacak?): "))

    veriler.append({
        "isim": isim,
        "hedef": hedef,
        "gerceklesen": 0,
        "olusturma_tarihi": str(datetime.now().date())
    })

    verileri_kaydet(veriler)
    print("Alışkanlık başarıyla eklendi.")

def ilerleme_guncelle(veriler):
    if not veriler:
        print("Kayıtlı alışkanlık yok.")
        return

    print("\n--- ALIŞKANLIKLAR ---")
    for i, a in enumerate(veriler, start=1):
        print(f"{i}. {a['isim']} ({a['gerceklesen']}/{a['hedef']})")

    secim = int(input("Güncellemek istediğiniz alışkanlık numarası: "))

    if 1 <= secim <= len(veriler):
        veriler[secim - 1]["gerceklesen"] += 1
        verileri_kaydet(veriler)
        print("İlerleme güncellendi.")
    else:
        print("Geçersiz seçim.")

def rapor(veriler):
    if not veriler:
        print("Rapor oluşturulacak veri yok.")
        return

    print("\n--- HAFTALIK VERİMLİLİK RAPORU ---")

    toplam_hedef = 0
    toplam_gercek = 0

    for a in veriler:
        toplam_hedef += a["hedef"]
        toplam_gercek += a["gerceklesen"]

    oran = (toplam_gercek / toplam_hedef) * 100 if toplam_hedef > 0 else 0

    print(f"Toplam Hedef: {toplam_hedef}")
    print(f"Gerçekleşen: {toplam_gercek}")
    print(f"Verimlilik Oranı: %{oran:.2f}")

def menu():
    veriler = verileri_yukle()

    while True:
        print("\n--- ALIŞKANLIK TAKİP SİSTEMİ ---")
        print("1. Alışkanlık Ekle")
        print("2. İlerleme Güncelle")
        print("3. Rapor Gör")
        print("4. Çıkış")

        secim = input("Seçiminiz: ")

        if secim == "1":
            aliskanlik_ekle(veriler)

        elif secim == "2":
            ilerleme_guncelle(veriler)

        elif secim == "3":
            rapor(veriler)

        elif secim == "4":
            print("Program kapatılıyor...")
            break

        else:
            print("Geçersiz seçim.")

menu()
    


Kodun Detaylı Satır Analizi

Kodun kalbi, dosya yönetimini ve kullanıcı etkileşimini sağlayan yapılardır. İşte detaylı inceleme:

  • json.load(dosya): Daha önce kaydedilmiş alışkanlık verilerini JSON dosyasından yükler.
  • veriler.append({...}): Yeni alışkanlığı hedef, gerçekleşen ve tarih bilgisiyle birlikte sisteme ekler.
  • veriler[secim - 1]["gerceklesen"] += 1: Seçilen alışkanlığın ilerleme sayısını bir artırır.
  • oran = (toplam_gercek / toplam_hedef) * 100: Kullanıcının genel verimlilik oranını yüzdesel olarak hesaplar.

Bu Proje Sizi Nasıl Geliştirir?

Bu proje sayesinde Python programlama dilinde gerçek hayata yönelik veri analizi ve kişisel verimlilik sistemleri geliştirmeyi öğrenirsiniz. Özellikle veri yapıları, döngüler, koşul ifadeleri ve dosya yönetimi konularında güçlü bir temel oluşturur. Aynı zamanda kullanıcı odaklı yazılım geliştirme mantığını kavrayarak daha profesyonel projeler üretme becerisi kazanırsınız. Bu tarz alışkanlık takip sistemleri, modern dijital verimlilik araçlarının temelini oluşturduğu için GitHub portfolyosunda oldukça değerli görünür. Projeyi daha ileri taşımak için haftalık grafik raporlama, hatırlatma sistemi, bildirim mekanizması veya mobil uygulama entegrasyonu ekleyebilirsiniz. Ayrıca Flask ile web tabanlı bir dashboard geliştirerek bu sistemi online bir verimlilik platformuna dönüştürmeniz de mümkündür. Bu geliştirmeler sayesinde hem teknik bilginizi artırabilir hem de yazılım kariyeriniz için güçlü ve etkileyici projeler oluşturabilirsiniz.

By mvers

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir