Membangun Rule Engine yang Dapat Diaudit dengan Python
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Bangun mini version control system berbasis CLI dengan Python untuk memahami snapshot, diff, branch, merge, dan manajemen file.
Skill yang dibangun
Menjelaskan cara kerja snapshot dan menyimpan versi file secara aman menggunakan hashing serta struktur folder internal.
Membangun command-line interface Python dengan perintah init, add, commit, status, log, branch, diff, dan merge.
Membandingkan dua snapshot untuk menghasilkan diff file dan memahami perubahan state dari setiap commit.
Membuat branch berbasis pointer commit serta menerapkan merge sederhana dengan deteksi konflik.
Menggunakan pathlib, json, hashlib, dataclasses, dan argparse tanpa bergantung pada library eksternal.
Menguji fitur dengan skenario perubahan file, branch terpisah, merge berhasil, dan merge conflict.
Mendiagnosis bug umum pada manajemen path, serialisasi data, snapshot immutability, dan konflik merge.
Menyusun proyek CLI yang rapi, terdokumentasi, dan layak dipresentasikan sebagai portofolio kerja.
Programmer tingkat intermediate yang telah menguasai dasar Python dan ingin memahami internal version control system, mahasiswa ilmu komputer yang ingin berlatih struktur data serta manajemen file, dan developer yang ingin membangun portofolio proyek teknis berbasis command-line.
Project outcomes
Kamu akan membangun aplikasi CLI bernama mini-vcs. Aplikasi ini punya repository internal untuk menyimpan metadata, snapshot file, commit history, branch, dan pointer HEAD. Fitur utamanya mencakup init untuk membuat repository, add dan commit untuk menyimpan perubahan, status dan diff untuk melihat perbedaan, log untuk membaca history, branch untuk membuat jalur kerja terpisah, serta merge untuk menggabungkan perubahan. Kode dibangun bertahap dengan contoh lengkap yang runnable, lalu diperkuat lewat latihan mandiri seperti validasi input, pengujian konflik, dan perbaikan pesan error.
Kamu akan membangun mini version control system dari nol menggunakan Python 3.10+. Proyek ini meniru konsep inti Git dalam skala yang lebih kecil: menyimpan snapshot file, membandingkan perubahan, membuat branch, lalu menggabungkan perubahan dengan merge. Jadi kamu tidak cuma memakai Git, tapi ngerti apa yang terjadi di balik command-command tersebut.
Pembahasannya dimulai dari fondasi yang aman: struktur folder, hashing, serialisasi data, pathlib, dan parsing argumen command-line. Setelah itu, fitur dibangun bertahap lewat contoh kode runnable yang bisa langsung kamu jalankan. Setiap bagian dipecah menjadi langkah kecil supaya alur data dan perubahan state-nya kebayang.
Kamu juga akan melewati guided practice dengan instruksi coding yang jelas, lalu independent practice untuk menambah fitur dan menangani edge case. Di sepanjang proses, kita bedah kesalahan yang sering muncul, seperti snapshot yang tidak immutable, path file yang salah, dan merge yang diam-diam menimpa perubahan. Hasil akhirnya cocok dijadikan proyek portofolio teknis karena menunjukkan pemahaman struktur data, file system, hashing, dan desain CLI.
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Bangun aplikasi flashcard berbasis Python dengan penyimpanan data dan algoritma pengulangan berjarak untuk belajar lebih teratur.
Bangun pipeline yang menandatangani, menghasilkan, dan memverifikasi provenance artefak dengan Sigstore dan in-toto.
Bangun simulator CPU dengan Python untuk membandingkan FCFS, SJF, dan Round Robin melalui data, perhitungan, dan validasi hasil.