Learning Competencies
● Memahami Konsep Object Relational Mapping ( ORM )
● Mampu membuat database & Model pada Sequelize
● Dapat memahami dan mengimplementasikan Migration & Seeding
● Dapat memahami dan mengimplementasikan Create, Read, Update, Delete
kepada database menggunakan Sequelize
Summary
Employee App merupakan sebuah aplikasi CMS (Content Management System) yang
mana dapat menampilkan informasi mengenai daftar karyawan suatu perusahaan.
Informasi yang ditampilkan antara lain name, position, education, email, phone number
dari setiap karyawan. User admin dapat melakukan Create, Read, Update, Delete
terhadap data yang tersedia.
Table Employees
Field Datatype
id SERIAL
name VARCHAR
position VARCHAR
education VARCHAR
email VARCHAR
phone_number VARCHAR
profile_picture VARCHAR
● Buatlah database menggunakan sequelize dengan nama employee_db
● Kemudian buatlah tabel menggunakan sequelize dengan sesuai dengan
requirement diatas
● Setelah membuat Tabel kalian diminta untuk melakukan Seeding melalui
Sequelize. Data yang akan kalian Seeding adalah data employees.json yang
disediakan terhadap Tabel Employee. ( Manfaatkan built in function Javascript
Looping untuk menambahkan key createdAt & updatedAt)
Release 1 - Migration
Asumsikan kita telah membuat tabel dengan requirement diatas.
Route
Pada challenge kali ini, kita akan menggunakan beberapa route sebagai berikut:
Method Route Description
GET / Menampilkan seluruh Employee yang terdaftar
Create Employee
Setelah melakukan submit maka kalian diminta untuk men-redirect dari halaman
tersebut ke halaman Home ( route / )
Release 3 - Edit Employee
Pada masing-masing Card di halaman home juga terdapat tombol Edit ketika tombol
Edit di tekan maka akan langsung masuk ke halaman Edit
Setelah kalian submit tombol edit maka akan langsung men-redirect ke halaman Home
(route / ) dan data yang ditampilkan akan langsung terupdate.
Pada Card terdapat button delete, data akan terhapus pada database berdasarkan id
yang dipilih. Saat data Employee berhasil terhapus, maka akan langsung mendirect ke
halaman Home ( route / ) data yang tampil pada halaman Home harus langsung
terupdate.
Pada release ini kalian diminta untuk membuat fitur sort berdasarkan nama & position
dan menambahkan fitur filter berdasarkan Degree yang dimiliki oleh masing-masing
Employee dengan menggunakan GET / dan mengimplementasikan req.query . ( Fitur ini
berjalan sendiri-sendiri jadi tidak terkait satu sama lain sehingga apabila kalian
melakukan sorting lalu kalian melakukan filter maka data yang diterima oleh filter bukan
data yang telah ter-sorting )
Sort
Filter
Example Filter by Master Degree