Front-end questionnaire related to https://backup.lepisi.ac.id/dbrw/questionnaire
.gitignore | ||
README.md |
Questionnaire
Aplikasi berbasis web untuk publikasi kuesioner pada lingkup Yayasan Widya Anindya (Perguruan Tinggi, SMK dan lainnya).
Latar Belakang
Guna melancarkan akreditasi Perguruan Tinggi LEPISI pada 2018, aplikasi ini dibuat untuk memenuhi kebutuhan akan dokumen-dokumen:
- dokumen #1
- dokumen #2
- ...
Kebutuhan Perangkat Lunak
- PHP 7.0
- nginx
Design
Use Case Diagram
UC Diagram pembuatan kuesioner
left to right direction
actor Admin
Admin -- (Membuat Kuesioner)
Admin -- (Mengubah Kuesioner)
Admin -- (Membuat Seksi)
Admin -- (Mengubah Seksi)
Admin -- (Membuat Pertanyaan)
Admin -- (Mengubah Pertanyaan)
Admin -- (Membuat Pilihan)
Admin -- (Mengubah Pilihan)
Membuat Kuesioner
Skenario utama:
- Admin login ke dalam sistem
- Admin mengisi form pembuatan kuesioner baru yang terdiri dari title, descriptions, released_at
- sistem menyimpan nilai form yang diisi dan menambahkan data id, created_at, updated_at dan creator_id ke dalam database
- sistem mengembalikan Admin ke tampilan daftar kuesioner
Ekstensi: 2a. form tidak diisi semuanya: - sistem mengembalikan admin ke halaman form pembuatan kuesioner baru dan menampilkan pesan kesalahan - Admin dapat mencoba mengirim form kembali setelah mengisi dengan lengkap 3a. sistem tidak dapat menyimpan data ke database: - Admin dikembalikan ke halaman pengisian form dan diberi peringatan kesalahan
UC Diagram pengisian kuesioner
left to right direction
actor Responden
actor Admin
Responden -- (Mengisi identitas)
Responden -- (Mengisi kuesioner)
Responden -- (Menyelesaikan kuesioner)
(Menerima notifikasi pengisian) .> (Menyelesaikan kuesioner) : extends
(Menerima notifikasi pengisian) -- Admin
UC Diagram pencetakan laporan kuesioner
left to right direction
actor Admin
Admin -- (Mencetak rekap pengisian kuesioner)
Admin -- (Mencetak laporan hasil pengolahan kuesioner)
Class Diagram
class Questionnaire {
id : int
title : varchar (100)
descriptions : text
creator_id : int
released_at : datetime
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Section {
id : int
questionnaire_id : int
title : varchar (100)
descriptions : text
creator_id : int
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Question {
id : int
section_id : int
number : int
text : varchar (300)
descriptions : text
question_type : enum ('text', 'choice', 'number')
creator_id : int
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class QuestionChoice {
id : int
question_id : int
number : int
text : varchar (300)
descriptions : text
creator_id : int
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Respondent {
id : int
login : varchar (100)
name : varchar (100)
handphone : varchar (100)
email : varchar (100)
gender : enum ('m', 'f')
descriptions : text
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
class Answer {
id : int
respondent_id : int
question_id: int
text : text
choice : int
created_at : datetime
updated_at : datetime
deleted_at : datetime
}
Questionnaire "1" -- "1..*" Section
Section "1" -- "1..*" Question
Question "1" -- "0..*" QuestionChoice
Respondent "1" -- "1..*" Answer
Question "1" - "1" Answer