Skip to content

Commit

Permalink
add: tutorial 2 and assignment 3
Browse files Browse the repository at this point in the history
  • Loading branch information
nabilmuafa committed Sep 11, 2024
1 parent 60a5954 commit 83f9c09
Show file tree
Hide file tree
Showing 14 changed files with 1,350 additions and 0 deletions.
36 changes: 36 additions & 0 deletions assignments/individual/assignment-3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
sidebar_label: Tugas 3
sidebar_position: 3
Path: docs/tugas-3
---

# Tugas 3: Implementasi Form dan Data Delivery pada Django

Pemrograman Berbasis Platform (CSGE602022) — diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia, Semester Ganjil 2024/2025

---

## Deskripsi Tugas

Pada tugas ini, kamu akan menjalankan implementasi konsep data delivery serta menerapkan beberapa konsep yang telah dipelajari selama sesi tutorial.


## Checklist Tugas

*Checklist* untuk tugas ini adalah sebagai berikut.
- [ ] Membuat input `form` untuk menambahkan objek model pada app sebelumnya.
- [ ] Tambahkan 4 fungsi `views` baru untuk melihat objek yang sudah ditambahkan dalam format XML, JSON, XML *by ID*, dan JSON *by ID*.
- [ ] Membuat routing URL untuk masing-masing `views` yang telah ditambahkan pada poin 2.
- [ ] Menjawab beberapa pertanyaan berikut pada `README.md` pada *root folder*.
- [ ] Jelaskan mengapa kita memerlukan _data delivery_ dalam pengimplementasian sebuah platform?
- [ ] Menurutmu, mana yang lebih baik antara XML dan JSON? Mengapa JSON lebih populer dibandingkan XML?
- [ ] Jelaskan fungsi dari method `is_valid()` pada form Django dan mengapa kita membutuhkan method tersebut?
- [ ] Mengapa kita membutuhkan `csrf_token` saat membuat form di Django? Apa yang dapat terjadi jika kita tidak menambahkan `csrf_token` pada form Django? Bagaimana hal tersebut dapat dimanfaatkan oleh penyerang?
- [ ] Jelaskan bagaimana cara kamu mengimplementasikan *checklist* di atas secara *step-by-step* (bukan hanya sekadar mengikuti tutorial).
- [ ] Mengakses keempat URL di poin 2 menggunakan Postman, membuat *screenshot* dari hasil akses URL pada Postman, dan menambahkannya ke dalam `README.md`.
- [ ] Melakukan `add`-`commit`-`push` ke GitHub.

## Tenggat Waktu Pengerjaan

Tenggat waktu pengerjaan Tugas 3 adalah hari **Rabu, 18 September, pukul 12.00 siang.**

645 changes: 645 additions & 0 deletions docs/tutorial-2.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
sidebar_label: Assignment 3
sidebar_position: 3
Path: assignment/individual/assignment-3
---

# Assignment 3: Forms and Data Delivery Implementation in Django

Platform-Based Programming (CSGE602022) — Organized by the Faculty of Computer Science Universitas Indonesia, Odd Semester 2024/2025

## Assignment Description

In this assignment, you have to implement the data delivery concept and apply several concepts learned in the tutorial.

Checklists for this assignment are:

- [ ] Create a `form` input to add a model object to the previous app.
- [ ] Add 4 `views` to view the added objects in XML, JSON, XML by ID, and JSON by ID formats.
- [ ] Create URL routing for each of the views added in point 2.
- [ ] Answer the following questions in `README.md` in the root folder.
- [ ] Explain why we need data delivery in implementing a platform.
- [ ] In your opinion, which is better, XML or JSON? Why is JSON more popular than XML?
- [ ] Explain the functional usage of `is_valid()` method in Django forms. Also explain why we need the method in forms.
- [ ] Why do we need `csrf_token` when creating a form in Django? What could happen if we did not use `csrf_token` on a Django form? How could this be leveraged by an attacker?
- [ ] Explain how you implemented the *checklist* above step-by-step (not just following the tutorial).
- [ ] Access the four URLs in point 2 using Postman, take screenshots of the results in Postman, and add them to `README.md`.
- [ ] Perform `add`-`commit`-`push` to GitHub.

## Deadline

The deadline for Assignment 3 is **Wednesday, 18th September, 2024, at 12:00 p.m.**

We will check the last commit of the lab assignment repository, so you do not need to submit the repository link separately.
Loading

0 comments on commit 83f9c09

Please sign in to comment.