Material

Instructions for performing homework

How to Do Public Homework

Each task in this section can be completed independently of the others. A private training repository, access to other people's branches, and a designated reviewer are not required.

Before you start

  1. Read the selected assignment in its entirety and write down questions about the requirements.
  2. Create your own public repository on GitHub or a separate folder in an existing training repository.
  3. Add README.md with the name of the task, launch instructions and decisions made.
  4. Set up your environment instructions for getting started.

Recommended Git Process

The Git process is necessary for practice, but is not a condition for accessing the task.

  1. Create a branch from your main branch: feature/<task-name>.
  2. Make small, meaningful commits.
  3. Push the branch to your repository and open a pull request to your own main.
  4. Before merging, check the diff, PR description and test results yourself.

If you don't yet use pull requests, you can run the task directly in your repository and save the commits history.

What should be the result

  • source code without secrets and local .env;
  • README.md with installation, launch and testing commands;
  • dependency file and reproducible environment;
  • automatic tests for basic and error scenarios;
  • a brief description of controversial decisions and known limitations;
  • successful launch of the linter, formatter and tests.

Self-test

Before completing the task, answer yourself the following questions:

  1. Is it possible to run a project on a clean machine one README at a time?
  2. Is it clear from the names and code structure where the business logic is located?
  3. Do the tests check for errors and not just the successful scenario?
  4. Are there passwords, tokens or other secrets in the history and files?
  5. Can you explain each non-trivial decision in your own words?

A link to the finished work can be sent to any mentor or used as part of a portfolio, but a special delivery channel and a mandatory reviewer are not needed to complete the material.