Final Project Pemrograman Web A
Final Project Pemrograman Web A
A. Spesifikasi Kebutuhan:
Manajemen Akun:
- User terbagi menjadi 3, admin, siswa, dan tutor.
- User dapat mendaftarkan diri ke dalam website dan melakukan login dengan autorisasi dari website.
- Siswa dan Tutor dapat mengubah informasi mengenai akun miliknya sendiri.
- Admin dapat mengubah informasi dari user yang ada di website.
Manajemen Kursus:
- Tutor dapat menambahkan dan mengedit kursus ke dalam sistem.
- Siswa dapat mendaftarkan diri ke dalam sebuah kursus yang dimiliki Tutor.
- Admin memiliki kemampuan tutor dan siswa.
Manajemen Materi:
- Tutor dapat menambahkan dan mengedit materi untuk kursus miliknya sendiri.
- Siswa dapat berinteraksi dengan tutor lewat fitur chat.
- Tutor dapat menambahkan pertemuan offline untuk sebuah materi yang dimiliki.
B. Struktur Menu:
Dashboard:
- Tampilan dashboard berbeda tergantung dengan tipe user.
Course Search:
- Dilakukan untuk melakukan pencarian kursus, dilakukan pencarian berdasarkan judul, durasi, ataupun nama tutor.
Course Management:
- Untuk siswa:
Siswa dapat melihat daftar kursus yang pernah terdaftar oleh siswa tersebut.
- Untuk tutor:
Tutor dapat melihat daftar siswa yang telah mendaftar ke dalam kursus yang dia miliki.
Tutor dapat menambahkan dan mengedit kursus miliknya di dalam website.
User Management:
- Untuk siswa:
Siswa dapat mengedit informasi akun tentang dirinya sendiri.
- Untuk tutor:
Tutor dapat mengedit informasi akun tentang dirinya sendiri.
- Untuk admin:
- Admin dapat mengedit informasi akun yang dimiliki oleh siswa dan tutor.
Daftar action backend yang akan digunakan meliputi:
- Create (Buat):
- Action: Membuat data siswa baru di basis data.
- Contoh Penggunaan: Ketika seorang siswa baru mendaftar, data siswa tersebut dimasukkan ke dalam basis data.
- Read (Baca):
- Action: Mengambil informasi siswa, jadwal bimbingan, materi pelajaran, dll., dari basis data.
- Contoh Penggunaan: Ketika seorang siswa atau guru mengakses profil atau jadwal bimbingannya.
- Update (Perbarui):
- Action: Memperbarui informasi siswa, jadwal bimbingan, atau materi pelajaran.
- Contoh Penggunaan: Saat seorang siswa ingin memperbarui alamat atau ketika seorang guru mengubah jadwal bimbingannya.
- Delete (Hapus):
- Action: Menghapus data siswa, jadwal bimbingan yang dibatalkan, atau materi pelajaran yang tidak relevan.
- Contoh Penggunaan: Saat seorang siswa keluar dari bimbingan atau jadwal bimbingan dibatalkan.
- Authenticate (Autentikasi):
- Action: Memeriksa dan mengotentikasi kredensial pengguna saat login.
- Contoh Penggunaan: Saat seorang pengguna (siswa, guru, atau admin) mencoba untuk masuk ke dalam sistem.
- Authorize (Otorisasi):
- Action: Memeriksa hak akses pengguna terhadap fitur atau data tertentu.
- Contoh Penggunaan: Memastikan bahwa hanya guru yang memiliki hak akses untuk membuat atau mengubah jadwal bimbingan.
- Validate (Validasi):
- Action: Memvalidasi data yang dimasukkan, misalnya, memastikan format tanggal benar atau data yang dimasukkan sesuai dengan aturan bisnis.
- Contoh Penggunaan: Memastikan bahwa tanggal jadwal bimbingan yang dimasukkan adalah valid.
- Log (Catat):
- Action: Mencatat aktivitas penting, seperti permintaan API, perubahan data, atau kejadian sistem penting.
- Contoh Penggunaan: Mencatat ketika seorang siswa berhasil mendaftar atau ketika ada kesalahan dalam permintaan.
- Query (Kueri):
- Action: Menjalankan kueri untuk mengambil data yang spesifik dari basis data.
- Contoh Penggunaan: Mengambil daftar siswa yang memiliki nilai tertentu atau mencari jadwal bimbingan pada hari tertentu.
- Push Notification (Notifikasi Push):
- Action: Mengirimkan notifikasi push kepada pengguna terkait peristiwa tertentu, seperti perubahan jadwal atau pengumuman penting.
- Contoh Penggunaan: Memberi tahu siswa atau guru tentang perubahan jadwal secara langsung.
- File Upload/Download (Unggah/Unduh Berkas):
- Action: Mengelola unggah dan unduh berkas, seperti materi pelajaran atau tugas.
- Contoh Penggunaan: Mengizinkan guru untuk mengunggah materi pelajaran atau siswa untuk mengunduh tugas.
Kelompok PVVEB:
- Akbar Putra Asenti Priyanto (5025211004)
- Duevano Fairuz Pandya (5025211052)
- Irsyad Fikriansyah Ramadhan (5025211149)
Link Github: duevanofairuz/fp-pvveb-online-course (github.com)
Comments
Post a Comment