- Java JDK 17
- Maven version 3.8.6
- Spring Boot version 2.7.8
- PostgreSQL database
- Thymeleaf
- Bootstrap 4
- Buat template untuk Register, Login, dan HomePage atau index.html (DONE)
- Kita coba flow register dan login, kita implementasi spring security
- REGISTER (DONE)
- Validasi untuk registration (DONE), validasi untuk login (DONE) jika error muncul "Invalid username or password"
- Login (DONE)
- Redirect Page based on Role (DONE)
- Role Admin => /admin/. Role ADMIN & USER => /admin/. Role USER => /index/
- Artinya secara default user yang memiliki ROLE ADMIN, akan diredirect langsung ke /admin
- Jadi misal di AdminController hanya menangani /admin, tapi seumpama kita hit URL /admin/edit-user, apakah bisa redirect ke endpont /edit-user, dimana misalnya /edit-user ini dimiliki oleh UserController yang hanya bisa diakses yang memiliki Role USER
- Kita login sebagai USER, lalu kita klik halaman form My Profile, kita akan mengisi identitas, lalu SIMPAN, maka akan ditampikan halaman list-userInformation (DONE)
- Kita kerjakan halaman untuk Educational Background. Dimana ada form untuk mengisi pendisikan, lalu tombol save
- Kemudian jika telah berhasil, maka kita akan di redirect ke halaman data_education_background.html
- Dan di halaman data_educational_background juga ada tombol "Tambah Educational Background"
- Data yang ditampilkan dalam tabel di halaman data_education_background harus kita urutkan dulu berdasarkan tahun pendidikan
- Update kolom form-label dan form-select
- Pertama, harus registrasi dulu dengan memasukkan username dan password
- Kedua, kita diarahkan untuk login. Login dengan memasukkan username dan password
- Ketiga, kita mengisi form biodata userInformation, lalu save
- ADMIN
- ROLE
- Posisi yang dilamar
- Nama Depan
- Nama Belakang
- No. KTP
- Tempat Lahir
- Tanggal Lahir
- Jenis Kelamin
- Agama
- Golongan Darah
- Status Pernikahan
- Alamat KTP
- Alamat Tinggal/Domisili
- No. Telp
- Orang terdekat yang dapat dihubungi (Kontak Darurat)
- nama kontak darurat
- nomor handphone kontak darurat
- hubungan
- Skill
- Bersedia ditempatkan di seluruh kantor perusahaan ? Ya atau Tidak (Checkbox)
- Penghasilan yang diharapkan
- Data Pendidikan Terakhir, Riwayat Pelatihan, dan Riwayat Pekerjaan adalah merupakan child dari Biodata
- Remember Me
- Changing Password
- Pencarian berdasarkan Nama (full name), Posisi yang dilamar, dan Tingkat Pendidikan terakhir
data-inputmask="'alias': 'numeric', 'groupSeparator': ',', 'autoGroup': true, 'digits': 2, 'digitsOptional': false, 'prefix': '€ ', 'placeholder': '0'" autocomplete="off"
-
Ada 2 Menu
-
Profil Admin
-
Daftar Employee
-
di Daftar Employee terdapat Card Jumlah Karyawan.
-
Di admin_home, kita tampilkan card-body
-
Card Body 1 : untuk menampilkan jumlah total userInformation
-
Card Body 2 : untuk menampilkan jumlah
-
Pie Chart : untuk menampilkan jumlah userInformation berdasarkan posisi
{
"id": "",
"name": ""
}
array = [1, 2, 3, 4]
- Model child dan parent nya adalah Employee
- ID USER dan ID EMPLOYEE adalah sama
- coba apakah ada error saat me-load data EDUCATION berdasarkan ID EMPLOYEE
- kita tambahkan beberapa kolom di add_employee, karena ada kolom educationalBackground
- Ubah maven version menjadi 3.8.6. Di laptop juga menggunakan maven 3.8.6
- tiap model dan payload, harus ada serializable serialVersionUID
- Kita buat form new userInformation dengan menambahkan educationalBackground
- Jadi di dto createNewEmployee harus ada property educationalBackground
- Tapi ketika di save akan membuat object educationalBackground baru
- Menu Work Experience belum tampil
- Bisa mengetahui jumlah pelamar berdasarkan position tertentu
- Misal posisi Java Developer memiliki pelamar sebanyak 10 pelamar
- Bisa mengambil semua pelamar berdasarkan posisi yang dilamar (ambil semua pelamar)
- belum bisa, pastikan url nya bisa dihit
- layout yang digunakan utama
- Harusnya Table User adalah table parent
- Karena jika user ini belum mengisi data Personal Data (Employee), maka tab
Educational Background
,WorkExperience
,TrainingHistory
akan error - Karena table-table tersebut berelasi terhadap data Employee, bukan data User
- Anggap saja Data Employee adalah sama dengan User Information
- Sedangkan data table User adalah table Parent untuk semua table child nya
@Configuration public class ThymeleafConfig {
@Autowired
private SpringTemplateEngine templateEngine;
@PostConstruct
public void configureTemplateEngine() {
// Additional configuration for the template engine if needed
templateEngine.addDialect(new LayoutDialect());
}
}
<title>Thymeleaf RESTful Example</title><h1 th:text="${message}"></h1>