decomp.me
A collaborative decompilation and reverse engineering platform
Design
https://docs.google.com/document/d/19SjmFkjnxYEq5CXsuwiCcXetx07Z04b0QWRgRq_WjzM/edit?usp=sharing
Contributing
PostgreSQL and Python are the main runtime dependencies required. Credentials for a test environment can be found in the main app settings file.
Directory structure
frontend/ contains the website sourcecode
backend/ contains the Django project
Backend
The backend requires a running PostgreSQL database.
Please create a user named decompme who has permissions to work with a database called decompme.
A virtual environment like virtualenv is recommended for handling python dependencies. You might have to use python3 instead of python for the following commands.
cd backend
python -m virtualenv venv
source venv/bin/activate
All the following commands need to be run inside the virtual environment.
Once the virtual environment is set up you can install the requirements
pip install -r requirements.txt
Set up the tables needed for the database:
python manage.py migrate
Load the dev database from the repo
python manage.py loaddata db.json
Run the backend server
python manage.py runserver
If you changed the database models, you'll need to make new migrations
python manage.py makemigrations
python manage.py migrate
Frontend
You'll need Yarn (which requires Node.js).
To install front-end dependencies:
cd frontend
yarn
Start a development webserver hosting the site:
yarn start
License
decomp.me uses the MIT license. All dependencies may contain their own licenses, which decomp.me respects.