ผลต่างระหว่างรุ่นของ "418512 ภาคต้น 2554/โปรเจค 3"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(หน้าที่ถูกสร้างด้วย 'ทำเหมือนเดิมกับทุกครั้งคือสั่ง hg pull https://bitbucket.org/418512/first2011…')
 
 
(ไม่แสดง 2 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
แถว 7: แถว 7:
  
 
==ข้อกำหนดในการเขียน web application==
 
==ข้อกำหนดในการเขียน web application==
* ใช้ Django Framework ในการสร้าง
+
* ใช้ Django Framework
 +
** สร้าง project ชื่อว่า mini_twitter ใน <tt>prj03</tt>
 
* ใช้ url ตามข้อกำหนดต่อไปนี้
 
* ใช้ url ตามข้อกำหนดต่อไปนี้
** /login/ : สำหรับการ login
+
** <tt>/login/</tt> : สำหรับการ login
** /logout/ : สำหรับการ logout
+
** <tt>/logout/</tt> : สำหรับการ logout
** /register/ : สำหรับสมัครสมาชิก
+
** <tt>/register/</tt> : สำหรับสมัครสมาชิก
** / : สำหรับแสดงฟอร์มโพสข้อความ
+
** <tt>/microposts/create/</tt> : สำหรับสร้างข้อความใหม่
** /microposts/[id]/delete : สำหรับลบข้อความที่มี id = [id]
+
** <tt>/microposts/[id]/delete</tt> : สำหรับลบข้อความที่มี id = [id]
** /users/ : สำหรับแสดงสมาชิกทั้งหมด
+
** <tt>/users/</tt> : สำหรับแสดงสมาชิกทั้งหมด
** /users/[id]/ : สำหรับแสดงข้อมูลของผู้ใช้ที่มี id = [id]
+
** <tt>/users/[id]/</tt> : สำหรับแสดงข้อมูลของผู้ใช้ที่มี id = [id]
** /users/[id]/follow/ : สำหรับติดตามผู้ใช้ที่มี id = [id]
+
** <tt>/users/[id]/follow/</tt> : สำหรับติดตามผู้ใช้ที่มี id = [id]
** /users/[id]/unfollow/ : สำหรับยกเลิกการติดตามผู้ที่มี id = [id]
+
** <tt>/users/[id]/unfollow/</tt> : สำหรับยกเลิกการติดตามผู้ที่มี id = [id]
** /users/[id]/followings/ : สำหรับแสดงผู้ใช้ทุกคนที่ผู้ใช้ที่มี id = [id] กำลังติดตามอยู่
+
** <tt>/users/[id]/followings/</tt> : สำหรับแสดงผู้ใช้ทุกคนที่ผู้ใช้ที่มี id = [id] กำลังติดตามอยู่
** /users/[id]/followers/ : สำหรับแสดงผู้ใช้ทุกคนที่กำลังติตตามผู้ใช้ที่มี id = [id] อยู่
+
** <tt>/users/[id]/followers/</tt> : สำหรับแสดงผู้ใช้ทุกคนที่กำลังติตตามผู้ใช้ที่มี id = [id] อยู่
 +
 
 +
==หลักการให้คะแนน==
 +
* มีฟังก์ชั่นการทำงานเท่ากับ web application ตัวอย่าง : 100%
 +
* คะแนนพิเศษเพิ่มเติม : 25%
 +
** เขียน Unit Test (อ่านเพิ่มเติมได้ที่ [https://docs.djangoproject.com/en/1.3/topics/testing/ Testing Django applications])
 +
** ใช้ AJAX
 +
** ใช้ HTML5
 +
** เพิ่มฟังก์ชั่นอื่นๆ ที่นอกเหนือจากตัวอย่าง
 +
 
 +
หากนิสิตต้องการคะแนนพิเศษ ให้สร้างไฟล์ที่ชื่อว่า <tt>README.txt</tt> ไว้ใน <tt>prj03</tt> และให้เขียนว่าตัวเองทำอะไรเพิ่มเติม อาจารย์จะพิจารณาให้คะแนนพิเศษก็ต่อเมื่อมีไฟล์ <tt>README.txt</tt> เท่านั้น
 +
 
 +
<b>หมายเหตุ:</b> ไม่มีคะแนนสำหรับความสวยงามหรือการตกแต่งหน้าเว็บโดยใช้ Flash หรือ animation ใดๆ

รุ่นแก้ไขปัจจุบันเมื่อ 14:09, 9 กันยายน 2554

ทำเหมือนเดิมกับทุกครั้งคือสั่ง

hg pull https://bitbucket.org/418512/first2011

และ

hg update

คุณจะพบกับโฟร์เดอร์ prj03 ซึ่งในนั้นจะมีไฟล์อยู่หนึ่งไฟล์คือ models.py ให้ใช้ไฟล์นี้เป็น model สำหรับทำ web application ที่สามารถทำงานได้เหมือน (หรือดีกว่า) web application นี้

ข้อกำหนดในการเขียน web application

  • ใช้ Django Framework
    • สร้าง project ชื่อว่า mini_twitter ใน prj03
  • ใช้ url ตามข้อกำหนดต่อไปนี้
    • /login/ : สำหรับการ login
    • /logout/ : สำหรับการ logout
    • /register/ : สำหรับสมัครสมาชิก
    • /microposts/create/ : สำหรับสร้างข้อความใหม่
    • /microposts/[id]/delete : สำหรับลบข้อความที่มี id = [id]
    • /users/ : สำหรับแสดงสมาชิกทั้งหมด
    • /users/[id]/ : สำหรับแสดงข้อมูลของผู้ใช้ที่มี id = [id]
    • /users/[id]/follow/ : สำหรับติดตามผู้ใช้ที่มี id = [id]
    • /users/[id]/unfollow/ : สำหรับยกเลิกการติดตามผู้ที่มี id = [id]
    • /users/[id]/followings/ : สำหรับแสดงผู้ใช้ทุกคนที่ผู้ใช้ที่มี id = [id] กำลังติดตามอยู่
    • /users/[id]/followers/ : สำหรับแสดงผู้ใช้ทุกคนที่กำลังติตตามผู้ใช้ที่มี id = [id] อยู่

หลักการให้คะแนน

  • มีฟังก์ชั่นการทำงานเท่ากับ web application ตัวอย่าง : 100%
  • คะแนนพิเศษเพิ่มเติม : 25%
    • เขียน Unit Test (อ่านเพิ่มเติมได้ที่ Testing Django applications)
    • ใช้ AJAX
    • ใช้ HTML5
    • เพิ่มฟังก์ชั่นอื่นๆ ที่นอกเหนือจากตัวอย่าง

หากนิสิตต้องการคะแนนพิเศษ ให้สร้างไฟล์ที่ชื่อว่า README.txt ไว้ใน prj03 และให้เขียนว่าตัวเองทำอะไรเพิ่มเติม อาจารย์จะพิจารณาให้คะแนนพิเศษก็ต่อเมื่อมีไฟล์ README.txt เท่านั้น

หมายเหตุ: ไม่มีคะแนนสำหรับความสวยงามหรือการตกแต่งหน้าเว็บโดยใช้ Flash หรือ animation ใดๆ