Making Dooitkoo – Bagian 7 : Dashboard

Lanjutan dari Bagian 6

Semua aplikasi yang punya banyak konten terstruktur pasti punya yang namanya dashboard. Untuk Dooitkoo, saya ingin dashboard bisa nampilin sekilas info tentang masing-masing subjek. Jadi sekali lirik, user bisa liat status terakhir semua subjek dalam bulan yang bersangkutan. Karena tujuannya “sekilas info”, ga ada pilihan bulan & tahun. Kalo misalnya user buka aplikasi pada bulan Mei 2013, info yang ditampilin adalah data bulan Mei 2013. Kalo buka di bulan April 2014, data yg ditampilin juga data bulan April 2014. Bulan & tahun diambil dari seting komputer user (local date & time).

Flow di Dashboard juga sederhana. Awalnya user lihat daftar subjek. Dia punya pilihan lihat ringkasan salah satu subjek atau bikin subjek baru. Kalo pilih liat ringkasan, dia punya pilihan untuk edit, hapus, atau buka subjek yang bersangkutan.

Dashboard flow

Continue reading →

Making Dooitkoo – Bagian 5

Lanjutan dari bagian 4

Controller

Controller adalah otak dari aplikasi yang bertugas menghandel rekues dari klien dan melakukan operasi CRUD terhadap model. Dalam Laravel, controller secara default disimpan dalam direktori /application/controllers/. Kontroler bisa menghandel rekues HTTP biasa atau restful. Kalo rekues biasa, non-restful, semua public function yang menghandel rekues harus berawalan action_.

class Home_Controller extends BaseController{

	public action_index(){ ... }

	public action_login(){ ... }

	public action_logout(){ ... }
}

Continue reading →

Making Dooitkoo – Bagian 3

Lanjutan dari Bagian 2

Server udah sip, local udah siap. Jadi sekarang waktunya coding. Fun time!

Setup Laravel

Karena baru pertama kali pake Laravel … oh, maksudnya baru pertama kali bikin full-blown web app sejak 2005, banyak yang harus dibaca-baca dulu, manual PHP, dokumentasi JavaScript di Mozilla, dll. Dan yang paling penting sekarang, seting local server ngikutin petunjuk yang ada di dokumentasinya.

Karena ada 3 konfigurasi yg berbeda, saya edit file paths.php & masukin path untuk konfigurasi local, staging, dan production server.

$environments = array(

	'dev' => array('http://localhost*', '*.dev'),
	'staging'=>array('http://staging.dooitkoo.com','web127.webfaction.com'),
	'production'=>array('https://dooitkoo.com','https://www.dooitkoo.com','web127.webfaction.com')

);

Kode di atas artinya, untuk domain localhost dan semua yg berakhiran .dev, pake konfigurasi yang ada di direktori /dev/, untuk domain staging.dooitkoo.com pake yang ada di /staging/, dan seterusnya. Continue reading →

Making Dooitkoo – bagian 2

Lanjutan dari Bagian 1

Tahap berikutnya setelah seting domain dsb adalah mempersiapkan application server dan local development environment, plus alat pendukung lainnya. Karena servernya pake linux, untuk development saya pake Mac yang juga berbasis Linux. Jadi sementara komputer windowsnya dipake utk buka dokumentasi & ngegame aja …

Server

Webfaction pake custom control panel di mana setiap website harus memiliki application dan domain. Application adalah tempat di mana saya nanti meletakkan file-file yang akan di-publish oleh Apache. Website adalah semacam container untuk application, fungsinya kurang lebih seperti file *.conf yand dipake Apache untuk ngeload website. Domain fungsinya seperti DNS manager.

Jadi pertama saya buat 2 application yaitu dooitkoo dan dooitkoo_staging, masing-masing untuk versi live/production dan testing. Kemudian saya bikin 2 database, yg namanya juga dooitkoo & dooitkoo_staging & saya bikin 2 website yang namanya sama.

Saya ga mau semua file & folder application server berada di lokasi yang bisa diakses lewat web. Jadi saya bikin 2 aplikasi tambahan bernama dooitkoo_public & dooitkoo_staging_public yang berupa symbolic link. Kedua aplikasi tambahan nantinya akan menjadi pointer ke direktori “/public” yang ada di Laravel. Website “app” saya atur supaya pake symlink dooitkoo_public, website “staging” saya arahkan ke dooitkoo_staging.

Apps

Continue reading →