Saya Fajar Rafsan, fullstack developer di Bandung. Saya merancang sistem ujung ke ujung: API Java/Spring yang andal di belakang, interface React 19 / TypeScript yang jelas di depan.
Latar akuntansi (S1, IPK 3.71) membentuk cara saya merancang data โ transaksi harus seimbang, migrasi harus terkunci, otorisasi tidak boleh bocor ke klien. Latar engineering memberi sistemnya: service layer, event, cache, dan kontrak REST yang bisa diikuti UI.
Saat ini saya mengajar Java Fundamentals di Universitas Nasional Pasim, dan terbuka untuk kesempatan fullstack.
| Batas | Prinsip |
|---|---|
| Auth | Keputusan otorisasi tetap di gateway dan service. Front end hanya membawa identitas. |
| Kontrak | Tipe di klien mengikuti REST, bukan sebaliknya โ UI tidak menebak bentuk data. |
| Event | Setiap request punya jalur. Setiap event (RabbitMQ / WebSocket) punya tujuan. |
| Data | PostgreSQL + migrasi Flyway. Cache Redis untuk yang sering dibaca, bukan untuk yang harus benar. |
Enam sistem nyata โ streaming, reservasi hotel, e-commerce emas, akuntansi, tiket penerbangan, dan data harga pasar โ bukan daftar tutorial.
Proyek lain
- ARUNIKA โ landing page brand kopi specialty. HTML, CSS, dan JavaScript murni tanpa framework, responsif sampai 320px.
- Shopify-Console-C โ aplikasi toko berbasis konsol yang ditulis dari nol dengan C. TUI digambar manual: bingkai CP437, warna ANSI, kursor Win32, tanpa pustaka UI.
- Belajar-Java โ materi dan latihan Java yang saya pakai saat mengajar.
- fajar-creative-portfolio โ situs portofolio (Cloudflare Workers).
Alat yang benar-benar dipakai di sistem di atas โ bukan daftar semua yang pernah disentuh.
Backend & data
Frontend
Runtime & tools
| Lapisan | Yang saya kerjakan |
|---|---|
| Java & Spring Boot | REST, Spring Security, JWT / OAuth2, service layer, Flyway |
| Microservices | Eureka, API Gateway, RabbitMQ, Docker Compose |
| Data | PostgreSQL, Redis, transaksi, konsistensi, caching yang disengaja |
| Interface | React 19, TypeScript, Tailwind v4, Vite, WebSocket/STOMP |
| Pembayaran | Xendit (GlowMarket), Midtrans (Roomly, TiketKilat) |
| Data eksternal | Scraping terjadwal dengan jsoup, cache berbatas waktu, dan snapshot yang bisa ditelusuri (AURUMKALA) |
| Periode | Peran | Tempat |
|---|---|---|
| Jan 2026 โ sekarang | Java Fundamentals Instructor โ OOP, live coding, debugging, proyek mini terstruktur | Universitas Nasional Pasim |
| Sep 2025 โ Agu 2026 | Accounting Assistant โ kelas responsi, materi, studi kasus, evaluasi | Universitas Nasional Pasim |
| 2023 โ 2026 | S1 Akuntansi ยท IPK 3.71 โ software engineering lewat pelatihan intensif Java Backend | Universitas Nasional Pasim |
Accounting trained my precision. Engineering gave it a system.
Semua grafik di bawah ini dibuat oleh workflow di repositori ini dan disegarkan tiap 12 jam, lalu disajikan dari repositori sendiri โ jadi tetap tampil walau layanan pihak ketiga sedang kena batas laju atau mati.
Terbuka untuk kesempatan fullstack, kolaborasi produk, dan diskusi sistem ujung ke ujung.