Python ile Akıllı Etkinlik Planlayıcı

Python ile Akıllı Etkinlik Planlayıcı (Terminal Tabanlı Görev Yönetim Sistemi)

Bu proje, kullanıcıların günlük işlerini, etkinliklerini ve yapılacak görevlerini terminal üzerinden kolayca yönetebilmesini sağlayan basit ama oldukça etkili bir Python uygulamasıdır. Amaç, gerçek hayatta kullanılan takvim ve planlama sistemlerinin mantığını küçük ve anlaşılır bir yapıda simüle etmektir. Kullanıcılar etkinlik ekleyebilir, listeleyebilir ve tarihine göre sıralı şekilde görüntüleyebilir.

Bu uygulama özellikle Python öğrenen kişiler için dosya yönetimi, listeleme algoritmaları ve tarih işlemleri gibi temel programlama konularını pekiştirmek için geliştirilmiştir. Proje içerisinde if-else yapıları, döngüler, fonksiyonlar ve JSON dosya sistemi kullanılmıştır. JSON kullanımı sayesinde veriler kalıcı olarak saklanır ve program kapatılsa bile bilgiler kaybolmaz. Bu özellik, gerçek dünyadaki uygulamaların çalışma mantığına oldukça yakındır ve portfolyo için güçlü bir örnek oluşturur.



import json
from datetime import datetime

DOSYA = "etkinlikler.json"

def yukle():
    try:
        with open(DOSYA, "r", encoding="utf-8") as f:
            return json.load(f)
    except:
        return []

def kaydet(veri):
    with open(DOSYA, "w", encoding="utf-8") as f:
        json.dump(veri, f, indent=4, ensure_ascii=False)

def etkinlik_ekle():
    isim = input("Etkinlik adı: ")
    tarih = input("Tarih (YYYY-AA-GG): ")

    veri = yukle()
    veri.append({"isim": isim, "tarih": tarih})
    kaydet(veri)

    print("Etkinlik eklendi!")

def listele():
    veri = yukle()
    if not veri:
        print("Hiç etkinlik yok.")
        return

    veri.sort(key=lambda x: x["tarih"])

    print("\n--- ETKİNLİKLER ---")
    for e in veri:
        print(e["tarih"], "-", e["isim"])

def yaklasanlar():
    veri = yukle()
    bugun = datetime.now().strftime("%Y-%m-%d")

    print("\n--- YAKLAŞAN ETKİNLİKLER ---")
    for e in veri:
        if e["tarih"] >= bugun:
            print(e["tarih"], "-", e["isim"])

def menu():
    while True:
        print("\n1- Etkinlik ekle")
        print("2- Listele")
        print("3- Yaklaşan etkinlikler")
        print("4- Çıkış")

        secim = input("Seçim: ")

        if secim == "1":
            etkinlik_ekle()
        elif secim == "2":
            listele()
        elif secim == "3":
            yaklasanlar()
        elif secim == "4":
            break
        else:
            print("Geçersiz seçim")

menu()


Kodun Detaylı Satır Analizi

  • json.load(): Daha önce kaydedilen etkinlikleri dosyadan okur.
  • json.dump(): Etkinlikleri kalıcı olarak dosyaya yazar.
  • datetime.now(): Güncel tarihi alarak karşılaştırma yapar.
  • veri.sort(): Etkinlikleri tarihe göre sıralar.

Bu Proje Sizi Nasıl Geliştirir?

Bu proje, gerçek hayatta kullanılan planlama sistemlerinin temel mantığını öğretir. Dosya işlemleri, veri kalıcılığı ve tarih karşılaştırma gibi yazılım dünyasında çok önemli konuları kapsar. Özellikle backend mantığı öğrenmek isteyenler için güçlü bir başlangıçtır. İleri seviyede bu proje web arayüzü ile birleştirilerek tam bir görev yönetim sistemine dönüştürülebilir. Portfolyo açısından “gerçek problem çözen yazılım” kategorisine girer ve oldukça profesyonel görünür.

By mvers

Bir yanıt yazın

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