Asas & Bahasa
Untuk anda yang tidak tahu coding langsung, tetapi mahu belajar dengan membedah aplikasi sebenar ini β dari sifar. Kita mula dengan: apa itu kod, macam mana nak baca kod, 4 bahasa yang sistem ini guna, dan peta "kalau nak bina semula, mula dari mana".
π Kandungan
- Selamat datang & cara guna panduan ini
- Apa itu "kod" dan "app" sebenarnya
- Cara membaca kod (simbol & tanda)
- HTML β rangka / tulang
- CSS β solekan / gaya
- JavaScript & TypeScript β otak / aksi
- SQL β bercakap dengan stor
- Peta bina-dari-kosong (Fasa 0β8)
- Alat (tools) yang anda perlukan
- Guna Claude Code sebagai cikgu
- Seterusnya: ke mana selepas ini
Selamat datang & cara guna panduan ini
Matlamat panduan ini bukan menghafal. Matlamatnya: selepas baca, anda boleh buka mana-mana fail dalam sistem ini dan faham apa yang berlaku β dan tahu cara bertanya bila tersangkut.
Sistem OMFS ialah aplikasi web sebenar yang digunakan di klinik. Ia bukan contoh mainan β ia ada pesakit, laporan, jadual on-call, semua. Itu kelebihan besar untuk belajar: setiap baris kod di sini ada sebab wujud. Kita belajar dengan membedah benda yang betul-betul berfungsi.
Rahsia paling penting: anda ada seorang cikgu peribadi
Panduan kertas (seperti ini) bagus untuk memberi anda peta dan turutan belajar. Tetapi panduan kertas tidak boleh menjawab soalan susulan anda. Untuk itu, anda guna Claude Code β alat AI yang boleh baca kod ini dan terangkan apa-apa baris, pada tahap anda, dengan contoh.
Jadi sepanjang panduan ini, bila anda nampak kotak seperti di bawah, itu cadangan ayat untuk anda taip kepada Claude Code:
Saya baru belajar coding. Terangkan fail worker/routes/hospital.ts baris demi baris, dalam bahasa mudah.
Fikirkan begini: panduan ini = silibus (apa nak belajar, ikut turutan); Claude Code = cikgu (jawab "kenapa?" dan "macam mana?"). Dua-dua bersama baru lengkap. Bahagian 09 tunjuk cara guna cikgu ini dengan betul.
Apa itu "kod" dan "app" sebenarnya
Kod ialah senarai arahan yang sangat teliti untuk komputer. Komputer tidak pandai meneka β ia buat tepat apa yang ditulis, tidak lebih tidak kurang.
App ini ada 3 bahagian besar
Hampir semua aplikasi web (termasuk yang ini) terbahagi kepada tiga bahagian. Analogi restoran paling mudah:
π½οΈ Frontend
Bahagian yang anda nampak & sentuh β butang, borang, jadual. Macam kawasan makan + menu di restoran. Dibina dengan HTML, CSS, TypeScript.
π¨βπ³ Backend
Bahagian yang anda tak nampak β ia terima permintaan, semak kebenaran, kira, simpan. Macam dapur. Di sini ia ialah Cloudflare Worker (tulisan TypeScript).
ποΈ Database
Tempat simpan data kekal β rekod pesakit, lawatan, pengguna. Macam stor sejuk beku yang tak hilang bila restoran tutup. Di sini ia ialah D1, dikawal dengan bahasa SQL.
Cara membaca kod (simbol & tanda)
Sebelum belajar bahasa, belajar dulu tanda baca kod. Sekali anda kenal simbol ni, kod nampak jauh kurang menakutkan.
Kamus simbol asas
// ...( ){ }" " / ' '=;.Cara membaca satu baris beranotasi
Sepanjang set panduan ini, kami terangkan kod guna anak panah β. Di sebelah kiri ialah kod sebenar; di sebelah kanan anak panah ialah maksudnya dalam bahasa biasa. Contoh:
const umur = 7; β buat satu nama "umur", simpan nombor 7 di dalamnya
if (umur < 12) { β KALAU umur kurang daripada 12, buat blok di bawahβ¦
papar("Kanak-kanak"); β β¦tunjukkan teks "Kanak-kanak"
} β tutup blok "if"
Itu sahaja. Kalau anda boleh baca contoh di atas perlahan-lahan dan faham, anda dah ada kemahiran teras membaca kod. Selebihnya cuma perbendaharaan kata yang bertambah sikit demi sikit.
HTML β rangka / tulang
HTML menentukan apa yang ada di halaman dan susunannya: tajuk, perenggan, butang, gambar. Ia rangka β belum bersolek, belum boleh bergerak.
HTML ditulis dalam tag β perkataan dalam kurungan tajam < >. Kebanyakan tag berpasangan: satu buka, satu tutup (tutup ada garis miring /).
<h1>Senarai Pesakit</h1> β tajuk besar; teks di tengah ialah yang dipapar
<p>Klik nama untuk lihat rekod.</p> β satu perenggan teks biasa
<button>Simpan</button> β satu butang bertulis "Simpan"
<h1> bermaksud "heading 1" (tajuk paling besar), <p> = "paragraph", <button> = butang. Komputer baca tag ini dan lukis elemen yang sepadan di skrin.
CSS β solekan / gaya
CSS menentukan rupa: warna, saiz, jarak, susun atur. Rangka yang sama (HTML) boleh nampak buruk atau cantik β bezanya CSS.
CSS bekerja dengan: pilih sesuatu elemen, kemudian beri ia senarai "sifat: nilai".
button { β pilih SEMUA butangβ¦
background: #0E6E63; β β¦warna latar hijau-teal
color: white; β β¦warna teks putih
border-radius: 8px; β β¦bucu bulat sedikit (8 piksel)
} β tutup blok gaya
#0E6E63 ialah satu kod warna (campuran merah-hijau-biru). px bermaksud "piksel" β unit saiz di skrin. Anda boleh nampak warna teal yang sama ini di seluruh sistem OMFS β ia ditetapkan sekali di satu tempat, lalu digunakan semula.
JavaScript & TypeScript β otak / aksi
Ini bahasa yang membuatkan halaman bertindak: bila butang ditekan, buat sesuatu; kira; hantar data; tukar paparan. Ini bahasa utama sistem OMFS.
JavaScript dulu, kemudian TypeScript
JavaScript (JS) ialah bahasa aksi asal. TypeScript (TS) ialah JavaScript tambah label keselamatan β anda boleh nyatakan "kotak ni mesti nombor", "kotak ni mesti teks". Kalau anda tersilap masukkan jenis yang salah, ia tegur sebelum program berjalan. Sistem OMFS guna TypeScript di mana-mana, untuk elak silap.
function kiraUmur(tahunLahir: number) { β buat tindakan "kiraUmur"; ia terima 1 nombor
const sekarang = 2026; β simpan tahun semasa
return sekarang - tahunLahir; β pulangkan hasil tolak (umur)
} β tutup tindakan
kiraUmur(1990); β guna tindakan tadi dengan 1990 β hasilnya 36
function bermaksud "satu tindakan yang ada nama dan boleh diguna berulang". : number ialah label TypeScript: "input ini mesti nombor". return = "hasil yang dipulangkan balik kepada sesiapa yang panggil".
SQL β bercakap dengan stor
SQL ialah bahasa untuk simpan, cari, ubah dan buang data dalam database. Bila app perlu "ambil semua pesakit hari ini", ia tanya database guna SQL.
Data disimpan dalam table β seperti helaian Excel: baris (rekod) dan lajur (medan). Sistem ini ada table seperti patients, visits, users.
SELECT nama, umur β ambil lajur "nama" dan "umur"β¦
FROM patients β β¦dari table "patients"β¦
WHERE umur < 12; β β¦tapi hanya baris yang umur bawah 12
Baca macam ayat Inggeris: "SELECT (pilih) nama dan umur FROM (dari) patients WHERE (di mana) umur kurang 12". Itu kekuatan SQL β ia hampir seperti bahasa biasa.
Peta bina-dari-kosong (Fasa 0β8)
Kalau anda nak bina sistem seperti ini dari sifar, inilah turutannya. Setiap fasa membina di atas yang sebelumnya β sama seperti membina rumah: tapak dulu, baru dinding, baru bumbung.
Sediakan tapak (setup)
Pasang alat (lihat bahagian 08), buka folder projek kosong, mulakan projek. Belum ada ciri β cuma rangka kerja boleh dijalankan.
Halaman pertama (frontend kosong)
Bina satu halaman yang papar "Hello" guna React. Belajar HTML + CSS + TypeScript bekerja bersama. Belum ada data sebenar.
Stor data (database)
Reka table: pesakit, lawatan, pengguna. Tulis migration β fail SQL yang membina struktur table. Ini tulang belakang data.
Dapur (backend / API)
Bina "pintu-pintu" (dipanggil route) yang frontend boleh panggil: "bagi senarai pesakit", "simpan lawatan baru". Setiap route bercakap dengan database.
Kunci pintu (auth β log masuk)
Tambah log masuk & peranan (role): pendaftar, doktor, pentadbir. Pastikan hanya orang yang dibenarkan boleh buka pintu tertentu.
Sambung depan ke belakang
Buat borang frontend benar-benar hantar data ke route backend, dan papar balik jawapannya. Sekarang ia satu app sebenar yang berfungsi.
Ciri sebenar
Bina ciri yang klinik perlu: laporan PG201/PG211, jadual on-call, hantar e-mel. Setiap satu = gabungan frontend + route + database yang anda dah belajar.
Uji (test)
Tulis ujian automatik yang semak kod masih betul setiap kali diubah. Ini jaring keselamatan supaya pembaikan tidak rosakkan benda lain.
Hantar ke dunia (deploy)
Naikkan app ke internet supaya orang sebenar boleh guna. Di sini, tolak kod ke main β ia auto-deploy ke Cloudflare.
Alat (tools) yang anda perlukan
Untuk membaca dan mencuba kod, anda perlukan beberapa alat percuma. Anggap ini "kotak alat tukang".
| Alat | Untuk apa (bahasa mudah) |
|---|---|
| Editor (VS Code) | Tempat anda buka, baca & tulis fail kod β seperti Microsoft Word, tetapi untuk kod. Percuma. |
| Terminal | Tetingkap hitam tempat anda taip arahan untuk komputer (cth "jalankan app"). Menakutkan pada mulanya, tapi anda cuma taip arahan yang diberi. |
| Node + npm | Node membolehkan TypeScript berjalan di komputer anda. npm memuat turun "alat orang lain" yang projek perlukan (cth React). |
| Git | "Mesin masa" untuk kod β simpan setiap versi, boleh undur bila silap. Setiap simpanan dipanggil commit. |
| Wrangler | Alat Cloudflare untuk deploy app & uruskan database D1. |
| Claude Code | Cikgu AI anda (lihat bahagian 09). Berjalan dalam terminal; boleh baca seluruh kod & jawab soalan. |
Guna Claude Code sebagai cikgu
Ini bahagian yang membuatkan "faham setiap baris" jadi mungkin. Daripada membaca beribu nota statik, anda bertanya secara hidup tentang fail yang anda sedang lihat β dan boleh tanya susulan.
Kenapa ini lebih baik daripada nota bertulis untuk setiap baris? Sebab dokumen statik tidak boleh menjawab soalan anda yang khusus. Claude Code boleh: ia baca kod terkini (jadi tak pernah lapuk), terangkan pada tahap anda, dan jawab "kenapa?" sebanyak yang anda mahu.
Ayat-ayat berguna untuk ditaip
Mula dengan memberitahu ia tahap anda, kemudian tanya. Contoh:
Saya baru belajar coding. Terangkan fail worker/routes/hospital.ts baris demi baris, dalam bahasa mudah. Anggap saya tak tahu apa-apa.
Apa itu useState dalam React? Beri analogi mudah dan satu contoh kecil.
Tadi awak kata "middleware". Saya masih tak faham. Boleh terangkan macam saya budak 12 tahun?
Bila pengguna tekan butang "Simpan Pesakit", apa urutan fail yang terlibat dari mula sampai data masuk database? Senaraikan ikut turutan.
Saya nak cuba ubah satu benda kecil untuk belajar. Apa perubahan paling selamat yang takkan rosakkan apa-apa? Terangkan langkah demi langkah.
Ke mana selepas ini
Anda kini ada peta, kamus simbol, dan seorang cikgu. Inilah langkah seterusnya yang disyorkan.
1. Buka satu fail kecil & cuba baca
Cuba worker/routes/hospital.ts β ia pendek dan bersih. Baca perlahan, guna kamus simbol bahagian 02.
2. Minta Claude Code terangkannya
Guna ayat pertama dalam bahagian 09. Bandingkan penjelasannya dengan bacaan anda sendiri.
3. Baca Panduan Lengkap (bukan-coder)
Untuk gambaran besar sistem & setiap cirinya, dengan analogi & gambar rajah.
4. Panduan Kod 02 β contoh fail sebenar
Bedah 10 fail betul-betul, baris demi baris: kontrak, route, service, middleware, migration, & React. Buka Panduan Kod 02 β
π¬ Panduan Kod 02 β Contoh Fail β
Langkah seterusnya yang disyorkan. Bedah 10 fail sebenar baris demi baris, satu contoh setiap bentuk.
π Panduan Lengkap (bukan-coder) β
Gambaran besar sistem, setiap ciri, analogi & gambar rajah. Untuk faham apa sistem buat.
π οΈ Panduan Developer β
Rujukan teknikal padat. Buka ini bila anda dah selesa dengan asas dan mahu butiran seni bina.