Penjelasan Teknologi di TASKLY

Git, npm, TypeScript, Vite, dan environment variables.

1. Git dan GitHub

Git adalah sistem untuk mencatat riwayat perubahan kode, sedangkan GitHub adalah tempat menyimpan repository Git secara online. Di project ini saya memakai:

2. npm

npm adalah pengelola paket untuk project JavaScript dan TypeScript. Daftar paket dan perintahnya ada di package.json.

3. TypeScript

TypeScript adalah JavaScript yang ditambah sistem tipe data, sehingga kesalahan bisa ketahuan sebelum aplikasi dijalankan. Di project ini saya memakai:

type TaskStatus = 'Belum Selesai' | 'Selesai'
type TaskFilter = 'Semua' | 'Belum Selesai' | 'Selesai'

interface Task {
  id: number
  title: string
  course: string
  deadline: string
  completed: boolean
}

function loadData<T>(key: string, fallback: T): T {
  const saved = localStorage.getItem(key)

  if (saved) {
    try {
      return JSON.parse(saved) as T
    } catch {
      return fallback
    }
  }

  return fallback
}

let tasks: Task[] = loadData<Task[]>('taskly-tasks', [])
const appName: string = import.meta.env.VITE_APP_NAME || 'TASKLY'
const isAppReady: boolean = true

4. Vite

Vite adalah alat untuk menjalankan dan membangun aplikasi web. Saat pengembangan, Vite menyediakan server lokal yang cepat dan langsung memperbarui tampilan saat kode diubah. Saat npm run build, Vite menggabungkan dan mengecilkan semua file menjadi folder dist yang siap diunggah.

5. Environment Variables

Environment variable adalah pengaturan yang disimpan di luar kode, dalam file .env. Di Vite, nama variabelnya harus diawali VITE_, misalnya VITE_APP_NAME dan VITE_APP_VERSION. Nilainya dibaca di kode lewat import.meta.env dan ditampilkan di aplikasi (nama di sidebar dan versi di bagian bawah sidebar).

6. Perbedaan Compiler, Transpiler, dan Bundler

Singkatnya, di project ini tsc memeriksa kode TypeScript saat npm run build, lalu Vite mengubahnya menjadi JavaScript dan menggabungkannya menjadi file siap pakai di folder dist.