SECU-API is api for course management system that include course, question, complier, testcase, user group and user.
- [Composer] (https://getcomposer.org/)
- Base on [Lumen] (https://lumen.laravel.com/) Framework
- PHP >= 5.5.9
- OpenSSL PHP Extension
- PDO PHP Extension
- Mbstring PHP Extension
- MySQL
- [Python 2.7.11] (https://www.python.org/downloads/release/python-2711/) Complier (Set path ให้ใช้งานคำสั่ง python ตรง cmd ได้)
###[ Wiki การเริ่มต้นการใช้งาน และแนวทางพัฒนาอย่างละเอียด] (https://github.com/Neungzad/SECU-API/wiki)
หมายเหตุ:
- ต้องการ PHP 5.5.9 ขึ้นไป
- ในกรณีที่ไม่ได้ติดตั้งเว็บเซิร์ฟเวอร์ภายในเครื่องสามารถใช้คำสั่ง
php -S 0.0.0.0:8000
เพื่อทดสอบการใช้งาน หลังจากนั้นให้เปิดเบราว์เซอร์ด้วย URLhttp://localhost:8000
Some example for how to call this api
Url | Type | Controller | Description |
---|---|---|---|
/course | GET | CourseController@all | All Courses |
/course/{id} | GET | CourseController@get | Fetch Courses By id |
/course | POST | CourseController@add | Create a course record |
/course/{id} | PUT | CourseController@put | Update Course by id |
/course/{id} | DELETE | CourseController@remove | Delete Courses by id |
/course/{courseId}/meta/{metaKey} | GET | CourseController@getMetaByKey | [example] Get only meta value |
Url | Type | Controller | Description |
---|---|---|---|
/complie | POST | ExampleController@complie | จะ return ค่าผมลัพธ์จากการ compile กลับไป |
public function complie(Request $request)
{
/**
* Params
*
* $lang String (require)
* $sourceCode String (require)
* $input String (optional)
*/
$output = Checker::complie($request->input('lang'),
$request->input('sourceCode'),
$request->input('input'));
return $this->respond(Response::HTTP_OK, $output);
}
Url | Type | Controller | Description |
---|---|---|---|
/checkTestCase | POST | ExampleController@checkTestCase | จะ return ค่า true หรือ false โดยเช็คความเท่ากันของ input กับ output |
public function checkTestCase(Request $request)
{
/**
* Params
*
* $lang String (require)
* $sourceCode String (require)
* $input String (require)
* $output String (require)
*/
$output = Checker::checkTestCase($request->input('lang'),
$request->input('sourceCode'),
$request->input('input'),
$request->input('output'));
return $this->respond(Response::HTTP_OK, $output);
}
ตัวอย่าง input สำหรับสำหรับบาง API