Skip to content

Commit b87291b

Browse files
committed
feat: Update README
1 parent b9b13eb commit b87291b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818

1919
Components:
2020
- Website: This package contains all of the React frontend code used to run the website.
21-
- Backend API: octree.io-backend is the backend that uses Express and socket.io to handle requests.
22-
- Worker: octree.io-worker is the worker service that compiles and executes the code submissions.
21+
- Backend API: [octree.io-backend](https://github.com/octree-io/octree.io-backend) is the backend that uses Express and socket.io to handle requests.
22+
- Worker: [octree.io-worker](https://github.com/octree-io/octree.io-worker) is the worker service that compiles and executes the code submissions.
2323
- Postgres: Main database used for storing user info, room data, chat messages, etc. The database schema can be found at tables.sql
2424
- MongoDB: Used to store the problem documents which contain metadata like problem name, ID, starter code, test cases and so on
2525
- RabbitMQ: The messaging queue that's used to relay messages between the backend and the workers.
@@ -29,7 +29,7 @@ How it works:
2929
- Frontend sends the code to socket.io room.
3030
- Backend receives the code request and enqueues a message to RabbitMQ.
3131
- Worker picks up message from RabbitMQ and starts processing work.
32-
- Most languages use the Compiler Explorer API to compile and execute code except for JavaScript and TypeScript. A dummy npm package is created for both JS & TS and the worker writes the code to the package and executes it with wasmtime.
32+
- Most languages use the [Compiler Explorer API](https://github.com/compiler-explorer/compiler-explorer/blob/main/docs/API.md) to compile and execute code except for JavaScript and TypeScript. A dummy npm package is created for both JS & TS and the worker writes the code to the package and executes it with wasmtime.
3333
- TypeScript transpiles to JavaScript with `tsc` first before being executed.
3434
- Once the worker completes the execution, the stdout, stderr and execution time are sent to a compilation responses queue in RabbitMQ.
3535
- Backend picks up message from RabbitMQ and relays the results back to the user who requested the code compilation.

0 commit comments

Comments
 (0)