- React.js: JavaScript library for building user interfaces.
- axios: Promise-based HTTP client for the browser.
- fastapi: Web framework for building APIs with Python.
- SQLModel: ORM for FastAPI that simplifies SQL operations.
- SQLite: Serverless, self-contained SQL database engine used temporarily for development.
- Monaco Editor for React: Integrates the Monaco Editor into React applications, providing a powerful, customizable code editor with features such as syntax highlighting and auto-completion.
- NsJail: Tool for isolating processes using Linux namespaces and seccomp filters, creating secure and controlled execution environments.
This template provides a minimal setup for React with Vite, including Hot Module Replacement (HMR) and ESLint rules. Two official plugins are available:
- @vitejs/plugin-react: Uses Babel for Fast Refresh.
- @vitejs/plugin-react-swc: Uses SWC for Fast Refresh.
For production applications, update the ESLint configuration to include type-aware lint rules:
-
Configure
parserOptions
:export default tseslint.config({ languageOptions: { parserOptions: { project: ["./tsconfig.node.json", "./tsconfig.app.json"], tsconfigRootDir: import.meta.dirname, }, }, });
-
Replace
tseslint.configs.recommended
withtseslint.configs.recommendedTypeChecked
ortseslint.configs.strictTypeChecked
. -
Optionally add
...tseslint.configs.stylisticTypeChecked
. -
Install eslint-plugin-react and update the configuration:
// eslint.config.js import react from "eslint-plugin-react"; export default tseslint.config({ settings: { react: { version: "18.3" } }, plugins: { react, }, rules: { ...react.configs.recommended.rules, ...react.configs["jsx-runtime"].rules, }, });
-
Install
uv
:curl -LsSf https://astral.sh/uv/install.sh | sh
Relaunch the terminal after installation.
-
Set up a virtual environment:
uv sync
This creates a
.venv
directory inside the backend folder. -
Select the Python interpreter in VSCode:
- Open a Python file in VSCode.
- Click on the Python version in the bottom right corner.
- Select: Enter interpreter path > Find.
- Choose
.venv/bin/python
as the interpreter. - Relaunch the terminal after selecting.
In the backend folder, run:
fastapi dev src/api
Overview of the main interface and features.
Area for testing and running code.
Section for participating in competitive coding challenges.
Problem statement with details and constraints, editor, input and output.
Area for engaging in coding contests.
Page displaying a specific contest problems along with its leaderboard.