Aplikasi web untuk mengelola daftar tugas (todo list) yang dibangun dengan Flask dan SQLAlchemy.
- β Tambah Tugas - Buat tugas baru dengan judul dan deskripsi
- π Edit Tugas - Ubah judul dan deskripsi tugas yang ada
- β Tandai Selesai - Tandai tugas sebagai selesai atau belum selesai
- ποΈ Hapus Tugas - Hapus tugas individual atau semua tugas yang selesai
- π Filter Tugas - Tampilkan semua tugas, tugas aktif, atau tugas selesai
- π Statistik - Lihat jumlah tugas total, aktif, dan selesai
Sebelum memulai, pastikan Anda telah menginstal:
- Python 3.7 atau lebih tinggi
- pip (package manager untuk Python)
- git (opsional, untuk clone repository)
Cek versi Python:
python --version# Jika menggunakan git
git clone <repository-url>
cd projek ap2b
# Atau buka folder project secara langsung
cd "c:\Users\yudis\projek ap2b"Di Windows (CMD atau PowerShell):
python -m venv venv
venv\Scripts\activateDi macOS/Linux:
python3 -m venv venv
source venv/bin/activateBuat file requirements.txt dengan isi berikut:
Flask==2.3.0
Flask-SQLAlchemy==3.0.0
Kemudian install:
pip install -r requirements.txtAtau install langsung:
pip install Flask Flask-SQLAlchemy-
Buka Terminal/Command Prompt
- Windows: Tekan
Win + R, ketikcmdataupowershell - macOS/Linux: Buka Terminal
- Windows: Tekan
-
Navigasi ke folder project:
cd c:\Users\yudis\projek ap2b
-
Aktifkan virtual environment (jika digunakan):
# Windows venv\Scripts\activate # macOS/Linux source venv/bin/activate
-
Jalankan aplikasi:
python app.py
-
Buka browser:
- Pergi ke:
http://localhost:5000
- Pergi ke:
- Buka folder project di VS Code
- Buka Terminal di VS Code (
Ctrl + ~) - Jalankan:
python app.py
- Klik link di terminal atau buka browser ke
http://localhost:5000
- Di VS Code, buka
app.py - Klik tombol βΆ Run di sudut kanan atas
- Buka browser ke
http://localhost:5000
projek ap2b/
β
βββ app.py # File utama aplikasi Flask
βββ requirements.txt # Daftar dependency Python (buat sendiri)
βββ todo.db # File database SQLite (dibuat otomatis)
β
βββ templates/ # Folder template HTML
β βββ index.html # Halaman utama (daftar tugas)
β βββ edit.html # Halaman edit tugas
β
βββ instance/ # Folder instance (folder internal Flask)
Anda bisa mengatur variabel lingkungan untuk production:
# Windows (PowerShell)
$env:SECRET_KEY = "your-secret-key"
$env:DATABASE_URL = "sqlite:///todo.db"
# Windows (CMD)
set SECRET_KEY=your-secret-key
set DATABASE_URL=sqlite:///todo.db
# macOS/Linux
export SECRET_KEY="your-secret-key"
export DATABASE_URL="sqlite:///todo.db"- Secret Key:
dev-secret-key-change-in-production(ubah di production!) - Database:
sqlite:///todo.db(SQLite lokal) - Port:
5000 - Debug Mode:
True(ubah keFalsedi production)
-
Buka aplikasi di browser:
http://localhost:5000 -
Tambah Tugas:
- Ketik judul dan deskripsi tugas
- Klik tombol "Tambah Tugas"
-
Edit Tugas:
- Klik ikon edit pada tugas
- Ubah judul/deskripsi
- Klik "Simpan"
-
Tandai Selesai:
- Klik checkbox di samping tugas
- Tugas akan pindah ke daftar selesai
-
Hapus Tugas:
- Klik ikon hapus untuk menghapus tugas individual
- Atau klik "Hapus Semua Selesai" untuk menghapus semua tugas selesai
-
Filter Tugas:
- Gunakan tab filter: Semua | Aktif | Selesai
Solusi: Instal dependencies
pip install Flask Flask-SQLAlchemySolusi: Port 5000 sudah digunakan. Ubah port di app.py:
if __name__ == '__main__':
app.run(debug=True, port=5001) # Ubah ke port lainSolusi: Hapus file todo.db dan jalankan lagi (akan membuat database baru)
del todo.db
python app.pySolusi: Pastikan Anda menjalankan command aktivasi untuk OS Anda:
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate- Aplikasi menggunakan SQLite yang cocok untuk development
- Untuk production, pertimbangkan database seperti PostgreSQL atau MySQL
- Ubah
SECRET_KEYdi production untuk keamanan lebih baik - Atur
debug=Falsedi production
Jika ingin melakukan perubahan atau perbaikan, silakan edit file sesuai kebutuhan.
Aplikasi ini bebas digunakan untuk tujuan pembelajaran dan pengembangan pribadi.
Q: Berapa lama aplikasi bisa berjalan?
A: Selama proses Python aktif. Untuk menghentikan, tekan Ctrl + C di terminal.
Q: Apakah data tersimpan?
A: Ya, data disimpan di file todo.db (database SQLite).
Q: Bisa diakses dari komputer lain?
A: Untuk development lokal hanya bisa dari localhost. Untuk network lain, ubah di app.py:
app.run(debug=True, host='0.0.0.0', port=5000)Selamat menggunakan Aplikasi Todo Manager! π