These instructions mostly repeat the process scripted in the Dockerfile, with some minor adjustments for the local development.
Local environment uses Nix and only supports Nix as an official method. Consult Nix installation instructions if you don't have Nix installed yet.
If you don't want to install Nix, consult default.nix file to see what packages you need to install manually.
These commands are expected to be run from the frontend directory.
In order to build the frontend, you need to
- Run
yarn install - Run
yarn run local:1to build the frontend code. - Run
yarn run build:cssto only build the CSS.local:1task also runs this command.
It is expected that frontend/assets/v1/dist folder will contain the output artifacts.
Copy the environment config: cp lms/settings/.env.example .env
and fill AWS.* variables with some non-empty strings, e.g. AWS_S3_ACCESS_KEY_ID=asd
Append the localhost domain name at the end of the file, if you want to access the LMS in dev mode using "localhost:8001" URL:
LMS_DOMAIN=localhost
SITE_ID=1
Run process-compose with the .env file you created to build frontend, run migrations and start the development server:
ENV_FILE=.env process-compose up
Run tests using pytest.
If you want to run tests from some specific folders, append the folder names to the command: pytest apps/core
- Run https://code.jetbrains.team/p/edu/repositories/educational-server locally
- Set the
SUBMISSION_SERVICE_URLandSUBMISSION_SERVICE_TOKENvariables to the values from the.env.examplefile - Enable internal mode in your IDE: https://plugins.jetbrains.com/docs/intellij/enabling-internal.html
- Install the JetBrains Academy plugin
- Open any JBA course
- Use the "Change Submissions Service URL" action to set the URL to
http://localhost:8080