mirror of
https://github.com/decompme/decomp.me.git
synced 2026-02-24 23:40:03 -06:00
* fix decompile modal codemirror height * bump browserslist * fix scrollbars * remove storybook, update things * fix editor styling Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2.1 KiB
2.1 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
- Access the site via http://localhost:8080
Optional steps
- Configure wine for Windows compiler on Linux
- Set up GitHub authentication
- Install nsjail to run the compiler sandbox
- Configure an nginx reverse proxy
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 .