Ini adalah repositori untuk situs web portofolio pribadi saya, yang menampilkan proyek-proyek, keahlian, dan informasi kontak saya. Situs ini dirancang untuk menjadi dinamis, responsif, dan multibahasa.
- π Dukungan Multibahasa: Diterjemahkan ke dalam 11 bahasa menggunakan Netlify Functions dan API terjemahan eksternal.
- π Mode Terang & Gelap: Tema berubah secara otomatis berdasarkan waktu atau dapat diubah secara manual oleh pengguna.
- π Backend Serverless: Menggunakan Netlify Functions untuk mengambil commit terbaru dari GitHub dan menangani logika terjemahan.
- π± Desain Responsif: Tampilan yang dioptimalkan untuk berbagai ukuran layar, dari ponsel hingga desktop.
- π Formulir Kontak: Formulir kontak yang berfungsi penuh dan terintegrasi dengan layanan backend untuk mengirim email.
- SEO & Performa: Dioptimalkan untuk mesin pencari dengan tag meta yang relevan,
sitemap.xml,robots.txt, dan header keamanan yang ketat. - βΏ Aksesibilitas: Menyediakan fallback untuk pengguna yang menonaktifkan JavaScript.
-
Frontend:
- HTML5
- CSS3
- JavaScript (ES6+)
- Bootstrap 5
- Bootstrap Icons
- Flag Icon CSS
-
Backend (Serverless):
- Netlify Functions
- Node.js
- node-fetch untuk permintaan API.
-
Platform & Layanan:
Struktur folder proyek diatur untuk memisahkan antara konfigurasi, kode sisi server, dan aset publik.
/
βββ .github/ # Konfigurasi GitHub Actions (jika ada)
βββ .gitignore # File yang diabaikan oleh Git
βββ .htaccess # Konfigurasi server Apache
βββ .nvmrc # Versi Node.js yang direkomendasikan
βββ functions/ # Kode backend (Netlify Functions)
β βββ getCommits.js # Fungsi untuk mengambil commit dari GitHub
β βββ translate.js # Fungsi untuk menangani terjemahan
βββ netlify.toml # Konfigurasi Netlify
βββ node_modules/ # Dependensi Node.js
βββ package.json # Informasi proyek dan dependensi
βββ package-lock.json # Versi dependensi yang terkunci
βββ public/ # Folder utama untuk aset frontend
β βββ assets/ # Gambar, ikon, dan video
β βββ css/ # File CSS
β βββ js/ # File JavaScript
β βββ lang/ # File terjemahan JSON
β βββ js-function/ # Halaman fallback jika JavaScript dinonaktifkan
β βββ index.html # Halaman utama
β βββ ...
βββ README.md # Dokumentasi iniUntuk menjalankan proyek ini di lingkungan lokal Anda, ikuti langkah-langkah berikut:
-
Clone Repositori
git clone [https://github.com/nama-pengguna-anda/nama-repositori-anda.git](https://github.com/nama-pengguna-anda/nama-repositori-anda.git) cd nama-repositori-anda -
Gunakan Versi Node.js yang Tepat Jika Anda menggunakan
nvm(Node Version Manager), jalankan:nvm use
Jika tidak, pastikan Anda menggunakan Node.js versi 22.2.0 atau lebih tinggi.
-
Instal Dependensi Proyek ini menggunakan
npmuntuk manajemen paket.npm install
-
Konfigurasi Variabel Lingkungan Buat file
.envdi direktori root dan tambahkan kunci API yang diperlukan. Lihat.gitignoreuntuk daftar variabel yang dikecualikan.GITHUB_TOKEN=token_github_anda HF_API_KEY=kunci_api_huggingface_anda MYMEMORY_API_KEY=kunci_api_mymemory_anda -
Jalankan Server Pengembangan Lokal Gunakan Netlify CLI untuk menjalankan server lokal yang juga akan menjalankan fungsi serverless.
netlify dev
Situs akan tersedia di
http://localhost:8888.
Proyek ini dilisensikan di bawah Lisensi MIT. Lihat file LICENSE.md untuk detail lebih lanjut.