codus
所属分类:数值算法/人工智能
开发工具:JavaScript
文件大小:464KB
下载次数:0
上传日期:2023-01-09 15:44:06
上 传 者:
sh-1993
说明: 一种新颖的计算机科学学生和教室编程平台
(A novel programming platform for computer science students and classrooms)
文件列表:
LICENSE (1073, 2020-02-01)
app (0, 2020-02-01)
app\.env.prod.sample (188, 2020-02-01)
app\.env.sample (194, 2020-02-01)
app\.eslintignore (15, 2020-02-01)
app\.sass-lint.yml (1786, 2020-02-01)
app\.tern-project (304, 2020-02-01)
app\.travis.yml (75, 2020-02-01)
app\jsconfig.json (132, 2020-02-01)
app\package-lock.json (500032, 2020-02-01)
app\package.json (3580, 2020-02-01)
app\postcss.config.js (115, 2020-02-01)
app\src (0, 2020-02-01)
app\src\App.vue (581, 2020-02-01)
app\src\api.js (2282, 2020-02-01)
app\src\components (0, 2020-02-01)
app\src\components\action-input (0, 2020-02-01)
app\src\components\action-input\action-input.vue (407, 2020-02-01)
app\src\components\action-input\script.js (554, 2020-02-01)
app\src\components\action-input\style.sass (744, 2020-02-01)
app\src\components\bold-button (0, 2020-02-01)
app\src\components\bold-button\bold-button.vue (367, 2020-02-01)
app\src\components\bold-button\style.sass (1050, 2020-02-01)
app\src\components\breadcrumbs (0, 2020-02-01)
app\src\components\breadcrumbs\breadcrumbs.vue (450, 2020-02-01)
app\src\components\breadcrumbs\style.sass (381, 2020-02-01)
app\src\components\classroom (0, 2020-02-01)
app\src\components\classroom\assignment-create (0, 2020-02-01)
app\src\components\classroom\assignment-create\assignment-create.vue (1530, 2020-02-01)
app\src\components\classroom\assignment-create\components (0, 2020-02-01)
app\src\components\classroom\assignment-create\components\date-picker (0, 2020-02-01)
app\src\components\classroom\assignment-create\components\date-picker\date-picker.vue (140, 2020-02-01)
app\src\components\classroom\assignment-create\components\date-picker\script.js (19, 2020-02-01)
app\src\components\classroom\assignment-create\components\date-picker\style.sass (0, 2020-02-01)
... ...
# Codus
Codus is an open-source online platform for code practice. Right now, Codus supports only the Java
programming language.
## Structure
The main Codus app has two components: the front-end, located inside the [`app` folder](https://github.com/codus-app/codus/tree/master/app),
and `codus-engine`, the back-end, located inside the [`engine` folder](https://github.com/codus-app/codus/tree/master/engine).
## How it works
Most of Codus’s data, including problem info and users’ solutions, is stored in MongoDB. MongoDB in
Codus is configured with the [KeystoneJS](https://github.com/keystonejs/keystone) framework, which
comes with an admin UI for the database out of the box.
The data stored in MongoDB is made available to Codus through `codus-engine`, the backend component
of Codus. `codus-engine` connects to MongoDB and reads and reformats information from the database
in order to respond to user requests. Specific information about `codus-engine`'s endpoints can be
found inside its [dedicated README](https://github.com/codus-app/codus/blob/master/engine/README.md).
Beyond storing user data, Codus needs to be able to understand and run user code in order to check
users’ solutions. A dedicated package created for Codus, [`codus-execute-java`](https://github.com/codus-app/codus-execute-java)
is responsible for securely executing user code. Executing arbitrary code is a notoriously dangerous
and insecure practice, so `codus-execute-java` creates a new Docker container for each solution
execution, in order to completely contain the program and prevent malicious code from having any
impact. `codus-engine` exposes the `/user/solution/check/` endpoint which hooks into `codus-execute-java`
to verify users’ solutions.
The front end of the app is written in the [Vue](https://github.com/vuejs/vue) framework. As the
user navigates through and interacts with the app, Vue makes calls to the `codus-engine` in the
background to read and update user data.
## Contributing
You can run the front end of Codus locally without too much trouble if you use the `codus-engine` instance that’s already configured and running at `app.codus.io`. See the README inside `app` for more information.
近期下载者:
相关文件:
收藏者: