Always free. For everyone.
Project lab
Approval · Intermediate

Build a draft approval queue.

Keep approval tied to the reviewed version, reviewer permissions, and expiry.

Open in the Learning Lab
THE CHALLENGE

Can a changed, expired, or unapproved draft ever reach the ready state?

A fictional organiser reviews workshop reminders. Each draft has a version and a review record. Build a local gate that exposes the reason for each hold. This project does not send reminders.

Build it, step by step

  1. 01

    Define the fields that approval covers, including destination and draft content.

  2. 02

    Parse numeric expiry fields and explicit boolean strings from the CSV.

  3. 03

    Check decision, matching version, reviewer authority, and expiry.

  4. 04

    Return ready or held with a specific reason and a minimal audit record.

  5. 05

    Test edits after approval, an unauthorised reviewer, exact expiry, and concurrent state changes in a written design.

WHAT GOOD WORK LOOKS LIKE

Your project checklist

  • Missing or pending decisions never count as approval.
  • Any action-relevant change invalidates an old approval.
  • Expired and unauthorised approvals are held.
  • Every result explains the decision.
  • The design rechecks state before any future external action.
ABOUT THE LEARNING LAB

Free, open and run by a nonprofit.

This page is part of AI Automation, a free course of 20 modules and 60 lessons in the engineering.fit( ) Learning Lab. The Learning Lab is built and run by engineering.fit( ), a nonprofit founded by Abdullateef Opeyemi Bakare that helps African engineering students gain research experience. You do not need an account or pay a fee to learn.

Course outline · Project lab · Visit engineering-fit.org