Skip to content

Step 3: Common ecosystem#30

Open
ziimakc wants to merge 1 commit intomainfrom
3_ecosystem
Open

Step 3: Common ecosystem#30
ziimakc wants to merge 1 commit intomainfrom
3_ecosystem

Conversation

@ziimakc
Copy link
Copy Markdown
Owner

@ziimakc ziimakc commented Feb 25, 2026

Resolves Step 3

Task

Write a [CLI] tool for stripping [JPEG] images [metadata][21] and minimizing their size (a simplified analogue of [tinyjpg.com]).

Requirements:

  • Accept input list of files and remote [URL]s via: either [CLI] arguments, [STDIN], or read it from a specified file ([EOL]-separated).
  • Allow configuring how much images are processed at the same time.
  • Allow configuring the output directory to store processed images in.
  • Allow configuring the output [JPEG] quality of processed images.
  • Read configuration with ascending priority from: a file (format is on your choice), [environment variables][22], [CLI] arguments. All are optional for specifying.
  • Support RUST_LOG environment variable, allowing granular tuning of log levels per module.
  • Print execution time in logs, so it's easy to see how much which operation takes during the execution.

If you have enough time after implementing base requirements, consider to add the following to your solution:

  • Allow configuring download speed limit for images from remote [URL]s.
  • Cover your implementation with unit and E2E tests.
  • Support [PNG] images as well.
  • Add comprehensive documentation to your code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant