Next.js · React · TypeScript
Mulailah dari arsitektur yang sudah jelas, bukan dari repositori kosong.
Foundation adalah basis situs web yang mengutamakan konfigurasi, dengan inti yang tidak bergantung pada framework, port dan adaptor, konfigurasi tervalidasi skema, serta gerbang verifikasi nyata. Anda mewarisi dasar-dasarnya dan memakai waktu Anda untuk bagian yang benar-benar spesifik bagi situs yang Anda bangun.
- Next.js App Router dengan React Server Components
- TypeScript di seluruh proyek, dengan konfigurasi tervalidasi skema
- Gerbang pengujian unit, arsitektur, dan browser nyata di dalam repositori
Arsitektur secara ringkas
Empat tahap dengan arah dependensi satu arah. Dua tahap tengah adalah basisnya; tahap pertama dan terakhir milik Anda.
- Stage 1
Data situs, konten, dan aset
Identitas, navigasi, bahasa, konten Markdown, dan ilustrasi — masukan milik adopter, tervalidasi sebelum apa pun membacanya.
- Stage 2
Lingkungan turunan Foundation
Konsep domain yang tidak bergantung pada framework serta layanan aplikasi yang mengorkestrasinya, tanpa impor framework sendiri.
- Stage 3
Penyajian, perutean, dan titik integrasi
Rute, komposisi tata letak, metadata, dan pabrik adaptor yang mengikat pemesanan, pertanyaan, peta, dan analitik dari konfigurasi.
- Stage 4
Penerapan
Build yang mengutamakan generasi statis, diterapkan dari repositori Anda sendiri ke akun hosting Anda sendiri.
Arah dependensi ditegaskan oleh pengujian, bukan diasumsikan: inti tidak boleh mengimpor React, Next.js, atau lapisan luar, dan lapisan aplikasi tidak boleh masuk ke adaptor konkret.
Konfigurasi, atau kode
Batas inilah inti proyek ini. Sebagian besar keputusan spesifik bisnis adalah data; perluasan yang nyata adalah kode, dan Foundation menyatakan dengan jelas mana yang mana.
Biasanya dikonfigurasi atau ditulis
- Identitas: nama, slogan, deskripsi, dan URL kanonis
- Navigasi, serta kelompok sekunder dan footer
- Kumpulan bahasa dan kamus antarmuka
- Wilayah bisnis, jam buka, dan petunjuk arah
- Konten: halaman dan koleksi sebagai Markdown
- Merek, ikon, dan gambar
- Pilihan penyedia untuk pemesanan, pertanyaan, peta, dan analitik
- Aktivasi fitur untuk penawaran, portofolio, blog, dan testimoni
- Nilai penyajian yang disediakan kontrak konfigurasi
Memerlukan kode ketika benar-benar memperluas perilaku
- Adaptor penyedia baru untuk kemampuan yang sudah ada
- Kemampuan baru yang dapat dipakai ulang
- Perilaku atau interaksi antarmuka baru
- Modul aplikasi hilir baru
- Apa pun di luar batas konfigurasi yang sudah ditetapkan
Posisi yang disetujui: sebagian besar identitas, konten, merek, dan pemilihan fitur yang spesifik bisnis berada di luar inti aplikasi. Itu bukan janji bahwa tidak akan pernah ada kode ditulis — kemampuan yang benar-benar baru adalah pekerjaan platform, dan Foundation mengatakannya alih-alih menyiratkan adanya sistem plugin.
Kontrak rekayasanya
Apa yang dipegang proyek ini — dan apa yang ia menolak untuk klaim.
Konfigurasi tervalidasi ketat
Satu skema, kunci tak dikenal ditolak, kegagalan yang bisa ditindaklanjuti, dan konfigurasi hanya dapat dibaca melalui loader.
Batas heksagonal
Inti yang murni, port dan layanan aplikasi, adaptor di balik pabrik, dan rute framework yang tipis.
Penegakan dependensi
Pengujian arsitektur menelusuri pohon sumber dan gagal pada impor yang dilarang, sehingga diagramnya tidak dapat menjauh dari kodenya.
Komposisi yang mengutamakan server
React Server Components dan generasi statis sebagai standar, dengan interaktivitas klien hanya pada komponen yang membutuhkannya.
Verifikasi di browser nyata
Matriks browser tanpa antarmuka yang disertakan menguji lebar desktop, tablet, dan seluler, interaksi papan tombol dan penunjuk, gerak yang dikurangi, serta skema gelap — dan menggagalkan proses jika ada assertion yang gagal.
Gerbang arsitektur dan unit
Pengujian batas dan unit berjalan bersama pemeriksaan aset, pemeriksaan tipe, lint, dan build produksi.
Disiplin klaim kemampuan
Klaim kemampuan yang didokumentasikan diperiksa terhadap catatan proyek sendiri tentang apa yang sudah diterapkan dan diverifikasi, sehingga klaim tidak bisa melampaui buktinya.
Model peningkatan yang jujur
Karena konfigurasi, konten, dan aset Anda berada di luar inti aplikasi, peningkatan platform dapat diserap alih-alih menimpa pekerjaan Anda.
Apa yang tidak diklaim proyek
Foundation tidak mengklaim kesesuaian WCAG, sertifikasi keamanan, uji penetrasi, skor performa atau Lighthouse yang diterbitkan, maupun cakupan browser dan perangkat yang universal. Aksesibilitas dan performa dikembangkan serta diverifikasi di tempat proyek mampu memverifikasinya — keduanya tidak disertifikasi.
Di mana Foundation berhenti
Pembagian kepemilikan yang sama, dinyatakan secara teknis. Foundation sengaja berhenti sebelum kompleksitas operasional bisnis dan menyediakan titik integrasi ke layanan mana pun yang Anda pilih.
Milik adopter
- Konfigurasi
- Konten
- Kamus bahasa
- Ilustrasi bisnis
- Pilihan penyedia
- Perluasan hilir
Milik Foundation
- Arsitektur aplikasi
- Mesin antarmuka yang dapat dipakai ulang
- Validasi konfigurasi
- Mesin perutean dan konten
- Titik integrasi
- Infrastruktur verifikasi
Perluasan bekerja dari luar ke dalam: penyedia baru adalah adaptor plus cabang pabrik dan entri enumerasi skema, sedangkan tipe konten atau bahasa baru adalah data. Kemampuan yang benar-benar baru adalah pekerjaan platform.
Alur adopsi
Delapan tahap. Repositori memegang detail tingkat perintah — ini bentuk pekerjaannya.
- 1
Dapatkan Foundation
Klon atau fork repositori publik.
- 2
Pasang dan jalankan
Pasang dependensi dan jalankan situsnya secara lokal.
- 3
Konfigurasi
Tetapkan identitas, bahasa, fitur, dan pilihan penyedia.
- 4
Tulis konten dan aset
Tulis halaman Anda dan gantikan peran aset merek.
- 5
Hubungkan penyedia
Arahkan titik integrasi ke layanan yang benar-benar Anda pakai.
- 6
Validasi
Jalankan gerbang proyek sendiri secara lokal.
- 7
Terapkan
Build dan terapkan dari repositori dan akun Anda sendiri.
- 8
Pelihara dan tingkatkan
Serap perbaikan dari hulu tanpa menimpa materi Anda.
Panduan di repositori mencakup setiap tahap, termasuk penanganan masalah.
Dokumentasi yang otoritatif
GitHub adalah sumber teknis kanonis. Situs web ini merangkum; repositori yang menginstruksikan.
Repository
Kode lengkap, lisensinya, dan pernyataan proyek sendiri tentang apa yang ia dan bukan ia.
README.md
Apa proyek ini, mulai cepat, susunan repositori, dan posisi lisensinya.
ARCHITECTURE.md
Gaya arsitektur, batas, arah dependensi, dan pola integrasi.
CUSTOMIZING.md
Panduan pengguna hilir dan referensi konfigurasi lengkap.
DEPLOYMENT.md
Runbook peluncuran dan daftar periksa setelah penerapan.
BRAND_ASSETS.md
Kontrak penukaran aset merek: setiap peran grafis yang dapat digantikan.
Panduan
Prosedur adopsi, penyesuaian, merek, konten, peningkatan, validasi, penerapan, dan penanganan masalah.
Setiap tujuan di atas adalah tautan ke repositori publik, tempat dokumen-dokumen itu dipelihara.
Baca, jalankan, ubah
Kode, pengujiannya, dan dokumentasinya adalah argumennya. Mulailah dari sana.