Advanced Projects
Prerequisites: Level 3 — Advanced
Build these using strict mode, traps, concurrency, portability, security, and the automation practices from Level 3.
1. Deployment Script
Write a deploy script that builds an application, uploads a release to a
server over SSH into a timestamped folder, switches a current symlink
atomically, restarts the service, runs a health check, and rolls back
automatically if the check fails. Use set -euo pipefail, a cleanup trap,
and log every step with timestamps.
2. Parallel Image Processor
Process a folder of images (for example, resizing with ImageMagick) using a configurable number of parallel jobs, with a progress counter, a summary of failures, and safe handling of file names containing spaces.
3. A Tested CLI Tool
Build a multi-command tool (tool add, tool list, tool remove) with
subcommands, help text, and configuration from environment variables or a
config file. Cover it with Bats tests, lint it with ShellCheck in a GitHub
Actions workflow, and make it run under both Bash and POSIX sh where
practical.