Guide · Application Development

Module 9: Python Application Final Project

Combine the idea, code, UI/UX, security, FAT, documentation and deployment into one assessable submission.

A final project and 100-point rubric demonstrating that a Python application was properly built, tested, secured, documented and deployed.

Final project challenge

Build and deploy a Python MVP that solves one real problem. The project must demonstrate the complete journey from idea to a testable public application—not merely AI-generated code.

Required deliverables

  1. Idea: problem statement, target users, value and MVP scope.
  2. Specification: ID-based requirements, user stories, data model and acceptance criteria.
  3. Application: a secret-free GitHub repository with tested installation instructions.
  4. UI/UX: desktop and mobile evidence, empty and error states, and basic accessibility.
  5. Security: findings register, severity, evidence, fixes and residual risk.
  6. FAT: traceability matrix, test results and acceptance evidence.
  7. Documentation: a State of the Application aligned with the final commit.
  8. Deployment: public URL, platform, configuration, migration version, smoke tests and rollback steps.

Minimum application requirements

  • At least one create, read and update data flow.
  • Input validation plus empty- and error-state handling.
  • Environment variables for sensitive configuration.
  • At least five automated tests covering critical functions.
  • A health check and logging that does not expose sensitive data.
  • A suitable database when data must persist after restart.

100-point rubric

  • Problem, users and specification: 15
  • Application functionality and flow correctness: 20
  • Code quality, migrations and automated tests: 15
  • UI/UX, responsiveness and accessibility: 10
  • Security review and remediation: 15
  • FAT execution and evidence: 10
  • Documentation, deployment and rollback: 15

The recommended pass threshold is 70/100, with all critical FAT functions passing and no open Critical security finding.

Master Prompt Template: final project reviewer

Act as the technical assessment panel for a Python application final project.

Project materials:
- Problem statement and specification: [LOCATION]
- Repository and final commit: [URL/COMMIT]
- Deployment URL: [URL]
- Security report: [LOCATION]
- FAT report: [LOCATION]
- State of the Application: [LOCATION]

Tasks:
1. Audit the supplied evidence; do not assume a document or test exists when it cannot be found.
2. Map application functions to requirements and FAT results.
3. Check consistency across code, migrations, deployment and documentation.
4. Score the project using the defined 100-point rubric.
5. List failed mandatory conditions, missing evidence and open risks.
6. Decide: Pass, Conditional Pass or Not Yet Passed.
7. Recommend no more than five prioritised corrective actions.

Do not expose secrets. Do not change code, push, deploy or run risky tests without permission. Separate verified facts, inferences and items that could not be verified.

Submission checklist

  • The final commit has a version tag.
  • The README and State of the Application reference the same version.
  • All automated tests and FAT cases were rerun.
  • The public URL and health check are reachable.
  • Data persists after restart or redeploy as designed.
  • No secrets, production data or personal information appear in the repository or test evidence.
  • Known issues, residual risk and next steps are documented.