This is a bachelors project which goal is to create a data labeling product. The students developong this are students at Linköpings universitet in Sweden.
All terminal commands are expected to be run from the project's root folder.
- Install Visual Studio Code.
- Install Python version 3.9.1.
- Install NodeJS version 15.0.0 or later.
- Install the following VSCode extensions.
- Python
- ESLint
- Prettier
- Open the VSCode settings (CTRL + ,).
- Search for "Format On Save" and enable it.
- Create a virtual environment and select your Python interpreter.
- If you're on Windows, run
python -m venv .venv
On Linux/MacOS runpython3 -m venv .venv
- Press CTRL+SHIFT+P in VSCode.
- Select "Python: Select Interpreter".
- Select "Python 3.9.1 64-bit ('.venv').
- Open the settings (CTRL + ,).
- Enable "Python > terminal: Activate Env in Current Terminal".
- Your virtual environment should now be activated automatically when you open VSCode.
- If you're on Windows, run
- Install the Python dependencies.
- Run
pip install -r ./backend/requirements.txt -r ./backend/requirements_dev.txt
- Run
- Install the JavaScript dependencies.
- Run
(cd frontend && npm install)
- Run
- Add the following settings to your /.vscode/settings.json file. This enables the Flake8 linter as well as format on save for javascript.
{
// ...
// ... other options
// ...
"python.linting.flake8Enabled": true,
"python.linting.enabled": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"eslint.validate": ["javascript"],
}
- Restart VSCode.
Docker is run through Docker Desktop on Windows & MacOS while Linux distributions run Docker Engine.
Windows
- Follow the instructions for either Windows Home Edition or Pro/Educational Edition.
- It is recommended that you run Docker using Windows Subsystem for Linux (WSL). Instructions can be found here.
MacOS
Follow the instructions here.
Linux
Follow the instructions here.
Launch Docker Desktop. Then open the root directory in the terminal and run
docker-compose up
This will launch all of the services in different containers, install their dependencies and configure them to communicate on a local network.
The frontend should now be reachable at http:localhost:3000/ and the backend at http:localhost:5000/