/test_task_2

Test task for Skyeng company

Primary LanguageJavaScript


Code checker

Test task for python developer role at Skyeng
❗Note: Project not supported❗

Conventional Commits pre-commit


FeaturesTech stackHow To UseAdditional materialGitHub Pages

Features

  • Registration new user
  • Authorisation
  • Uploading python files
  • Checking user uploaded python files with flake8, scheduled check via celery
  • Sending an email message to the user about the results of checking the files he has uploaded
  • Creating a report for the user based on the inspection

Tech stack

How To Use

To clone and run this project, you'll need:

Local run use Docker
  1. Firstly clone repo

    git clone git@github.com:mrKazzila/python_dev_test_task.git
  2. Prepare env with make

    make prepare_env
  3. Run docker compose with make

    make docker_run
  4. Stop docker compose with make

    make docker_stop
Other useful local commands
  1. Run tests

    make test
  2. Run linters & formatters

    make test_linters
  3. Reload docker

    make docker_reload
Base deploy command
  1. Prepare you server
  • Updating local packages: sudo apt-get update && apt-get upgrade -y
  • Recommended: Create a new user adduser <username> & usermod -aG sudo <username>
  • Recommended: Copy SSH-key to server
  • Recommended: Update sshd_config
  • Install docker
  • Install make sudo apt-get install make
  • Setup UFW
  1. Prepare env with make

    make prepare_env
  2. Update the information in the .env files

  3. Run docker compose prod with make

    make docker_prod_run
  4. Enter to django container

    make django_container_enter
  • Other useful prod commands
  1. Clean all
    make docker_remove_all_force

Additional material

test-assignment