Pembuatan aplikasi berbasis web menggunakan bahasa PHP (Framework: Laravel/CodeIgniter):
Aplikasi ini merupakan addon (plugin) pada Nextcloud versi 18 ke atas.
Aplikasi ini harus berjalan di dalam Nextcloud server. Wajib. Silakan sertakan juga portfolio anda jika ingin mengambil project ini (jika ada) sebagai bahan pertimbangan kami juga. Terima kasih.
Syarat untuk setiap pengguna aplikasi ini, maka pengguna harus login pada server Nextcloud untuk dapat mengaksesnya.
Aplikasi harus menampilkan daftar program yang terdapat di dalamnya. Daftar program dapat ditambahkan, diubah, dan dikurangi sesuai kebutuhan. Tidak boleh hard code, harus baca table pengaturan pengguna sesuai kontrol akses yang diberikan. Pengaturan akses untuk user tertentu terhadap fitur-fitur aplikasi tersebut menggunakan konsep Role Based Access Control (RBAC).
Anda juga harus menyediakan fitur untuk pengaturan program, seperti pengaturan kelompok, penggantian icon, pengaturan atribut dan konfigurasi lainnya.
Sebisa mungkin menggunakan API atau services atau fungsi-fungsi yang sudah disediakan Nextcloud. Jika memerlukan pembuatan API atau services atau fungsi-fungsi yang baru maka pembuatannya harus menggunakan teknologi Backend API Gateway menggunakan bahasa Python (Flask/Django). Skema teknologi silahkan lihat file gambar terlampir (Skema server aplikasi.pdf).
Semua program memiliki fitur CRUD yang disesuaikan dengan kebutuhan pengguna. Anda bisa melihat detail pada penjelasan di daftar program. CRUD tidak boleh hard code.
Daftar program dan penjelasannya, sbb:
Master Companies (w)
Halaman berbasis web yang digunakan untuk maintain tabel Company.
DoD:
Harus terkoneksi dengan Nextcloud
Pengguna yang diberi akses harus dapat memasukkan ID Company
Pengguna yang diberi akses harus dapat memasukkan Nama Company
Pengguna yang diberi akses harus dapat mengubah Nama Company
Pengguna yang diberi akses harus dapat menghapus baris Company yang belum digunakan atau belum memiliki relasi dengan program lain (cek ke table Document Type /Company)
Master Applications (w)
Halaman berbasis web yang digunakan untuk maintain tabel Application sebagai sumber dari mana datangnya dokumen yang disubmit.
DoD:
Harus terkoneksi dengan Nextcloud
Pengguna yang diberi akses harus dapat memasukkan ID Application
Pengguna yang diberi akses harus dapat memasukkan Nama (deskripsi) Aplikasi
Pengguna yang diberi akses harus dapat mengubah Nama Aplikasi
Pengguna yang diberi akses harus dapat menghapus baris Aplikasi yang belum digunakan atau belum memiliki relasi dengan program lain (cek ke table Document Type).
Master Document Types
Halaman berbasis web yang digunakan untuk maintain tabel Tipe Dokumen sebagai tempat disimpannya berbagai tipe dokumen per aplikasi.
DoD:
Harus terkoneksi dengan Nextcloud
Pengguna yang diberi akses harus dapat memasukkan ID Document Type
Pengguna yang diberi akses harus dapat memasukkan Nama (deskripsi) dari Document Type
Pengguna yang diberi akses harus dapat mengaitkan ID Document Type ke ID Application yang tersedia dengan relasi 1 ID Application to many ID Document Type
Pengguna yang diberi akses harus dapat mengubah Nama (deskripsi) Document Type
Pengguna yang diberi akses harus dapat menghapus baris Document Type yang belum digunakan atau belum memiliki relasi dengan program lain (cek table Document Type /Company)
Detail Master Document Type: Pengguna yang diberi akses harus dapat mengisi Lead Time Reviewed sebagai penanda berapa lama hari yang digunakan untuk mengotomatisasi perubahan “Draft” menjadi “Document” oleh sistem jika Reviewer mengabaikan dokumen tersebut, misal 1 hari. Jika isian 0 hari maka otomatis “Draft” menjadi “Document” saat disubmit oleh Pembuat dokumen
Detail Master Document Type: Pengguna yang diberi akses harus dapat mengisi Lead Time Approved sebagai penanda berapa lama hari yang digunakan untuk mengotomatisasi pembatalan (cancelled) dokumen, misal 1 hari. Default isian 1 hari sehingga otomatis “Document” menjadi “Cancelled” jika lewat 1 hari sejak “Document” reviewed oleh Reviewer dan diabaikan oleh Approver
Detail Master Document Type: Pengguna harus dapat mengisi flag From Gallery (default value is False). Flag ini digunakan pada aplikasi Photoloader
Detail Master Document Type: Pengguna yang diberi akses harus dapat menghapus baris detail Document Type /Company yang belum digunakan atau belum memiliki relasi dengan program lain (cek table transaksi Document dan table Notifications)
Detail Master Document Type: Pengguna yang diberi akses harus dapat mengubah isi Lead Time Reviewed. Misal, jika value mula-mula 1 hari lalu diubah menjadi 2 hari maka fungsi otomatis reviewed akan mengikuti menjadi 2 hari. Catatan: Apakah ingin disimpan nilai lead time di tabel transaksi? Untuk tujuan jika ada perubahan akan berlaku mengikuti value yang sesuai saat transaksi dibuat. Jawab: Ya disimpan
Detail Master Document Type: Pengguna yang diberi akses harus dapat mengubah isi Lead Time Approved. Misal, jika value mula-mula 1 hari lalu diubah menjadi 2 hari maka fungsi otomatis cancelled akan mengikuti menjadi 2 hari. Catatan: Apakah ingin disimpan nilai lead time di tabel transaksi? Untuk tujuan jika ada perubahan akan berlaku mengikuti value yang sesuai saat transaksi dibuat. Jawab: Ya disimpan
Detail Master Document Type: Pengguna yang diberi akses harus dapat mengubah flag From Gallery. Misal, jika value mula-mula False lalu diubah menjadi True maka fungsi akan mengikuti value yang terakhir. Catatan: Apakah ingin disimpan nilai lead time di tabel transaksi? Untuk tujuan jika ada perubahan akan berlaku mengikuti value yang sesuai saat transaksi dibuat. Jawab: Ya disimpan
Master Notifications (w)
Halaman web yang digunakan untuk maintain pesan-pesan notifikasi yang akan dikirimkan kepada user yang bersangkutan sesuai kebutuhan aplikasi masing-masing.
DoD:
Pengguna harus bisa mendaftarkan atau menambah ID notifikasi
Pengguna harus bisa memasukkan deskripsi notifikasi
Pengguna harus bisa mengubah deskripsi notifikasi
Pengguna harus bisa mengaitkan notifikasi dengan aplikasi yang sudah terdaftar di company
Pengguna harus bisa menghapus baris notifikasi yang belum ada relasi dengan program lain. Misal sudah terkait dengan aplikasi tertentu pada suatu company maka notifikasi tersebut harus dicabut dulu relasinya sebelum bisa dihapus
Anda harus menghasilkan:
Aplikasi sesuai disebutkan diatas beserta source codenya.
Dokumentasi development dan user manualnya.
Pekerja wajib menuliskan dokumentasi atas pekerjaan yang dikerjakannya. Dibuat penjelasan per fungsi dengan jelas dengan comment inline per fungsi selain itu juga dibuat dokumentasi terpisahnya untuk menjelaskan spek/sistem secara menyeluruhnya, termasuk cara penggunaan, cara menyesuaikan setting dan lain sebagainya secara jelas dan detil.