###### tags: `專題規劃` <!-- [TOC] --> # 軟體設計(Software Design) ## ToDo - [ ] APCS測資 - [ ] Backend Design ## 架構 - [Database](#Database) - [Backend](#Backend) - [Judger](#Judger) - [Frontend](#Frontend) ## Database ### 題目 * APCS - 題目:[YUI HUANG 演算法學習筆記](https://yuihuang.com/) > 這個網站有整理APCS、CPE題目(來自zerojudge)。APCS考古也有列出命題範圍 - 測資: * CPE - 題目 * [一顆星選集](https://cpe.cse.nsysu.edu.tw/environment.php#starList) * [Lucky貓的 UVA(ACM)園地](http://web.kshs.kh.edu.tw/academy/luckycat/index.htm):主要收集中文題目和難度 * [UVa官網](https://onlinejudge.org/):對應的英文題目和解題狀況 - 測資 * [uDebug](https://www.udebug.com/UVa/) - 解答 * [CPE歷屆考題](https://cpe.cse.nsysu.edu.tw/cpe/test_data/problems):可收集解答和測資 * [codeforces](https://codeforces.com/problemset/status):可以觀看別人的程式碼和測資,但好像沒有UVa題目 ## Backend Online Judge Backend... :::warning Incompelete block ::: ## Judger The judger give used to compile source user submitted, execute it and **judge** the result. The judger should have following features. **Basic Requirement** * Compile compiled language * Execute source and generate output * Compare user output and correct output, and return the result **Advance Requirement** * Execute source in `sandbox` to protect our system from crashing by running malicious code ## Frontend Online Judge's frontend built with `Next.js` may have following features * Should able to submit code * Member could check its solving problem history