Files
decomp.me/docs/CONTRIBUTING.md
Alex Bates 4cf3e416e5 Use Next.js 13 app directory & Tailwind CSS (#626)
- Use Next.js 13 app directory for all routes except projects
- Add Tailwind (resolves #619) and use it for most components
- New footer
- Adjust navbar (logotype, buttons moved to right)
- Improve the styling of the search box
- New /settings/account page
- /credits grabs contributors list for this repo from GitHub's API
- Resolve #634
- New welcome page header with scrolling platform icons
2023-01-03 12:41:05 +00:00

2.5 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

### Frontend styling

We use Tailwind CSS with Radix UI colors. Each color is on a scale from 1 to 12 (inclusive), each with a well-defined meaning.

Linting

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