Files
decomp.me/docs/CONTRIBUTING.md
Alex Bates 2ff229c994 document minimum Node.js version
For `??` operator
2022-11-05 19:38:30 +00:00

2.3 KiB

Contributing

Directory structure

frontend/
  public/        ; Static files
  src/           ; React/Typescript sourcecode

backend/
  compilers/     ; Compiler binaries and configuration
  coreapp/       ; API Django app
    migrations/  ; Database migrations (generated by Django)
  decompme/      ; Main Django app

.env             ; Default configuration
.env.local       ; Local configuration overrides (not checked-in)

Setup

See DOCKER.md for instructions on how to run the project in a Docker container. Otherwise, continue reading this guide.

Dependencies:


Create a file to hold environment variables:

touch .env.local

Backend

cd backend
  • Install Python dependencies with poetry
poetry install
  • Install compilers
poetry run python compilers/download.py
  • Set up the database
poetry run python manage.py migrate
  • Start the API server
poetry run python manage.py runserver

Frontend

cd frontend
  • Install dependencies
yarn
  • Start the development webserver
yarn dev

Optional steps

Notes

Updating the database

If you modify any database models (models.py), you'll need to run the following to update the database:

poetry run python manage.py makemigrations
poetry run python manage.py migrate

Linting

  • Check frontend
cd frontend
yarn lint
  • Autofix frontend
cd frontend
yarn lint --fix
  • Check backend
cd backend
poetry run mypy
poetry run black .