app.py
: Streamlit Dashboard Quiz Graderquiz-grader-R.ipynb
: Notebook Quiz Grader (dokumentasi project)quiz_grader.py
: Python Script penyimpanan function grade quiz Classroomcredentials.json
: File autentikasi Google untuk mengakses APItoken.json
: File credentials yang telah diautentikasi menggunakan akun Product Team Algoritma (delete jika ingin menggunakan akun pribadi)requirements.txt
: Library-library yang diperlukan untuk menjalankan aplikasi
Sebelum mengakses aplikasi, pastikan anda telah mempersiapkan hal-hal berikut:
- Download file CSV hasil quiz dari Algoritma Online
- Buka link https://quiz-grader.streamlit.app/ untuk mengakses dashboard Quiz Grader
- Pilih nama Course di Google Classroom dari quiz yang ingin dinilai
- Pilih spesialisasi kelas, nama kelas, dan masukkan nama Sheet pada Score Academy (
⚠️ case-sensitive) dari quiz yang ingin dinilai - Upload CSV Algoritma Online yang telah didownload sebelumnya
- Klik Grade Quiz untuk memulai proses penilaian, kemudian tunggu beberapa menit hingga proses selesai
- Periksa Score Academy dan Google Classroom untuk memastikan penilaian sudah berhasil dilaksanakan
📝 Note :
- List Classroom yang tersedia untuk dipilih hanya kelas yang dapat diakses oleh Product Team Algoritma
- Jika ada student di Google Classroom tidak ada pada Score Academy, maka akan ditampilkan sebagai warning pada Dashboard
Sebelum mengakses aplikasi, pastikan anda telah mempersiapkan hal-hal berikut:
-
Python dan Visual Studio Code
-
Instalasi library yang diperlukan pada
requirements.txt
di virtual environment dengan menjalankanpip install -r requirements.txt
-
File
credentials.json
tersedia pada directory untuk melakukan autentikasi akun pengguna -
Hapus file
token.json
sehingga anda dapat menggunakan dashboard menggunakan akun Algoritma pribadi
-
Buka Visual Studio Code dan pastikan virtual environment yang digunakan telah sesuai (pada bagian pojok kanan bawah)
-
Pilih menu Terminal di bagian kiri atas dan pilih New Terminal
-
Buka Dashboard Streamlit dengan menjalankan code berikut:
streamlit run app.py
-
Pilih nama Course di Google Classroom dari quiz yang ingin dinilai
-
Pilih spesialisasi kelas, nama kelas, dan masukkan nama Sheet pada Score Academy (
⚠️ case-sensitive) dari quiz yang ingin dinilai -
Upload CSV Algoritma Online yang telah didownload sebelumnya
-
Klik Grade Quiz untuk memulai proses penilaian, kemudian tunggu beberapa menit hingga proses selesai
-
Periksa Score Academy dan Google Classroom untuk memastikan penilaian sudah berhasil dilaksanakan
- Buka file
quiz-grader.ipynb
pada IDE anda - Pastikan link spreadsheet yang tersimpan pada
SCORE_ACADEMY_LINK
dan range sheet yang tersimpan padaGRADE_RANGE
sudah sesuai - Lakukan Run All
- Browser akan terbuka untuk melakukan autentikasi pada akun Google anda, gunakan email
algorit.ma
, dan kemudian klikAllow
- Jika proses autentikasi berhasil, maka akan muncul
"The authentication flow has completed. You may close this window."
, dan silahkan kembali ke IDE - File
token.json
telah terbentuk untuk memberikan akses untuk penggunaan selanjutnya (sehingga tidak perlu melakukan autentikasi kembali) - Pastikan nilai yang diakses sudah tepat dengan memeriksa dataframe pada section
Score Academy
- Input nama course yang diinginkan untuk pembuatan post (case-insensitive, contoh :
wizard data visualization
) - Input code quiz yang diinginkan untuk dilakukan penilaian (case-insensitive, contoh :
p4ds
), berikut list code quiz yang tersedia:P4DS
: 1. Q: Programming for Data Science (P4DS) & Practical Statistic (PS)DV
: 2. Q: Data Visualization (DV)IP
: 3. Q: Interactive Plotting (IP)
- Nama, nilai, dan status hasil penilaian akan ditampilkan pada dataframe di section
Draft Grade
. Jika e-mail/nilai student tidak ditemukan, maka akan muncul warning - Konfirmasi hasil grade draft yang telah dilakukan di Google Classroom, pastikan nilai-nilai sudah sesuai. Jika sudah sesuai, ketik
y
kemudian enter - Jika penilaian quiz telah berhasil, maka akan menampilkan
"Quiz grades was successfully returned"
- Quiz telah berhasil dinilai secara otomatis, silahkan periksa pada Google Classroom
Jika file credentials.json
hilang/tidak bisa digunakan untuk melakukan autentikasi, anda dapat membuat file credentials baru. Secara keseluruhan, guide pembuatan file tersebut telah disediakan oleh Google pada Classroom Quickstart. Berikut step-step yang perlu dilaksanakan:
- Membuat Google Cloud Project dengan melakanakan step-step dari Create a Google Cloud project
- Mengaktivasi API Google Classroom sesuai dengan guide pada section Enable the API
- Konfigurasi OAuth consent screen sesuai dengan guide pada section Configure the OAuth consent screen
- Berikan nama
Algoritma
untuk mengisi App Name OAuth consent screen - Melakukan pembuatan file credential sesuai dengan guide pada section Authorize credentials for a desktop application
- Rename file credential yang telah didownload menjadi
credentials.json
dan letakkan pada directory notebook