Ödeme korumasıAyrıntılar
- Paket kapsamındaki revizyonlar ücretsizdir.
- Teslimattan sonraki 3 gün içinde yanıt vermezseniz iş otomatik olarak onaylanır.
Para, ödeme yaptığınızda bloke edilir ve yalnızca işi onayladığınızda aktarılır.

Örnek sonuç
Merging the monthly sales files of 9 shops into one Excel report
How it is run
python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO Folder: sales/2026-10, 9 files found
2026-11-02 09:14:03 INFO shop-01.csv: 1,284 rows
2026-11-02 09:14:04 INFO shop-02.xlsx: 967 rows
2026-11-02 09:14:04 WARN shop-07.csv: 3 rows without a price skipped (lines 88, 412, 913)
2026-11-02 09:14:05 INFO Done: 10,412 rows -> report-2026-10.xlsx (sheets "Sales" and "Totals")
Settings, not code
The column names of each shop live in settings.ini, so a new shop or a renamed column is a line there:
[columns]
date = Date, Sale date, Day
product = Product, Item, Name
quantity = Qty, Quantity, Pcs
price = Price, Unit price
A part of the code
def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
"""Reads one shop's file and gives it the report's column names."""
table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
renamed = {}
for name, variants in columns.items():
found = next((c for c in table.columns if c.strip() in variants), None)
if found is None:
raise ReportError(f"{path.name}: no column for '{name}' (looked for {', '.join(variants)})")
renamed[found] = name
table = table.rename(columns=renamed)[list(columns)]
table["shop"] = path.stem
return table
Files: a ZIP archive with merge_sales.py (310 lines), settings.ini, requirements.txt and a README with installing Python, running the script and what each message in the log means. The client runs it on their own computer.
Client: a small chain of 9 stationery shops; each shop sends its sales for the month as a CSV or Excel file, with slightly different column names. Task: one script that reads every file in a folder, brings the columns to one shape, and writes a single Excel report with all sales and a sheet of totals by shop.
Müşteri ve tüm ayrıntılar kurgusaldır.
Bu hizmet hakkında
Mağaza ya da rezervasyon siteniz gece çökerse bunu sabah ancak bir müşteriden öğrenebilirsiniz. Bu Python betiği listelediğiniz sayfaları birkaç dakikada bir açar ve biri cevap vermeyi kestiğinde, hata döndürdüğünde ya da Standart paketten itibaren orada olması gereken bir kelime, örneğin Sepete ekle düğmeniz olmadan yüklendiğinde size e-posta gönderir. Alarm vermeden önce tekrar dener, böylece tek bir yavaş cevap sizi uyandırmaz; site geri geldiğinde de tekrar yazar. E-postalar kendi posta hesabınızdan gider; gönderim parolasını ayarlara kendiniz girersiniz. Sürekli açık kalan ve sitenizin bulunduğu makine olmayan bir bilgisayarda ya da sunucuda çalıştırın; aksi hâlde siteyle birlikte susar. Size bir sorunu bildirir; onu düzeltmez.
Neler dahil
- Neler alırsınızPython betiğini, adım adım talimatlar içeren bir README dosyasını ve Standart paketten itibaren adresleri ve posta ayarlarını içeren bir ayar dosyasını barındıran bir ZIP arşivi; kod sipariş sayfasında da gösterilir.
- Çöktü ve geri geldiÇöktüğünde bir e-posta, geri geldiğinde bir e-posta
- Yanlış alarm yokSize yazmadan önce tekrar dener
- Sayfa içeriği kontrolüStandart paketten itibaren, sayfada olması gereken bir kelime
- Sizin posta kutunuzdanKendi posta hesabınız, parola kodun dışında tutulur
- Okunabilir kodYorumlarla; sonradan sayfa eklemek kolay
Nasıl çalışır
- 1Görevİzlenecek sayfaları ve bildirimlerin nereye gideceğini listelersiniz
- 2KodBetiği ve çalıştırma kılavuzunu yazarız
- 3DeneyinBildirimin geldiğini görmek için var olmayan bir sayfayla çalıştırırsınız
- 4DeğişikliklerPaketiniz kapsamında değişiklik ister, varsa hata mesajını gönderirsiniz
Sizden neler gerekiyor
İzlenecek adresler (ana sayfa, sepet, rezervasyon sayfası), ne sıklıkla kontrol edilecekleri ve Standart paketten itibaren her sayfanın göstermesi gereken bir kelime ya da ifade. Bildirimlerin nereye gideceği ve onları hangi posta hesabının göndereceği (gönderim ayarlarını tarif etmemiz için sağlayıcınızın adı yeterlidir; parolayı kendiniz girersiniz). Betiğin nerede çalışacağı: sürekli açık kalan bir bilgisayar ya da bir sunucu ve sistemi (Windows, macOS ya da Linux).
Size soracaklarımız:
- Hangi sayfaları izlemeli?
- Ne sıklıkla ve ne çökmüş sayılır?
- Bildirimler nereye gitmeli?
- Nerede çalışacak?
Paketleri karşılaştırın
| Paketler | TemelTek site, tek bildirim$16 | StandartAyarlı kontroller$33 | PremiumErişilebilirlik aracı$67 |
|---|---|---|---|
| Teslim süresi | 1 gün | 2 gün | 3 gün |
| Revizyonlar | 1 | 2 | 3 |
| Kod | en fazla 150 satır | en fazla 400 satır | en fazla 1.000 satır |
| Kod dosyası | 1 | en fazla 3 | en fazla 8 |
| Ayar dosyası | Hayır | Evet | Evet |
| Anlaşılır hata mesajları ve log | Hayır | Evet | Evet |
| Çalıştırma seçenekleri ve zamanlanmış çalıştırma kılavuzu | Hayır | Hayır | Evet |
| Kurulum ve çalıştırma kılavuzu (README) | Evet | Evet | Evet |
| Dil | Python | Python | Python |
| Sipariş ver Temel | Sipariş ver Standart | Sipariş ver Premium |
Ödeme koruması
Sipariş verirken ödersiniz, ancak para yalnızca onaylanan iş için aktarılır.
- Sabit fiyatPaket fiyatı, ödeme yaptıktan sonra değişmez.
- Para bloke edilirÖdeme yaptığınızda tutar yalnızca bloke edilir. İşi onayladığınızda hizmete aktarılır.
- Teslimattan önce kontrolHer sonuç size ulaşmadan önce kalite kontrolünden geçer ve onaylamadan önce sipariş sayfasında görürsünüz.
- Ücretsiz revizyonlarBrifiniz kapsamında, paketin izin verdiği sayıda değişiklik isteyin.
- 3 gün sonra onayTeslimattan sonraki 3 gün içinde işi onaylamaz veya değişiklik istemezseniz iş otomatik olarak onaylanır. Teslimattan sonra sipariş sohbetine yazarsanız sipariş bekletilir; yanıt verdikten sonra 3 günlük süreyi yeniden başlatabiliriz ve bunu sohbette bildiririz.
- Yeniden yapım veya tam iadeSonuç brifinize uymuyorsa ve revizyonlar sorunu çözmediyse ya da iş teslim süresinin iki katından uzun sürerse sipariş sohbetine yazın: işi yeniden yaparız veya ödemenin tamamını iade ederiz.
Sorular ve yanıtlar
Nerede çalıştırmalıyım?
Her zaman açık olan ve sitenizden ayrı bir makinede, örneğin bir ofis bilgisayarında, evdeki küçük bir sunucuda ya da kiralık küçük bir sunucuda. Siteyle aynı sunucuda çalışırsa onunla birlikte çöker ve sizi uyaramaz.
E-posta yerine SMS gönderebilir mi?
Bu teklif e-posta gönderir. Birçok telefon bir e-postayı bildirim olarak gösterebilir; herkese açık API'si olan bir servise mesaj, ayarlarda kendi anahtarınızla paketiniz kapsamında eklenebilir.
Sitemin hızını ya da güvenliğini kontrol edecek mi?
Her sayfanın cevap vermesinin ne kadar sürdüğünü ölçer ve Premium pakette sınırınızın üstünde uyarır. Güvenliği test etmez, virüs aramaz ya da yönetim sayfalarına giriş yapmaz.
Kaç e-posta gönderebilir?
Yalnızca bir şey değiştiğinde yazar: bir sayfa çöktüğünde bir kez ve geri geldiğinde bir kez; böylece posta servisinizin gönderim sınırlarının epey altında kalır.
Yanıtınızı bulamadınız mı?