HW4 - Stage 2 Plan#

Submission Deadline: 2025-12-03


Warning: ASAP is not a plan; you must set a date for your plan, and write down the actual date when you finish the plan


Your Project 2 Submission Date#

  1. When (Plan): 2025-12-03
  2. When (Actual): 2025-12-01
  3. Comment: Create application in Python with Docker and PostgreSQL

Project 2 Milestones#

Milestone 1 Submission#

  1. What: Define API contract for REST API endpoint(s) and safety rules.
  2. When (Plan): 2025-11-10
  3. When (Actual): 2025-11-17
  4. Comment: Include endpoint path(s), HTTP method(s), request/response schema, auth/flags, and environment restrictions.

Milestone 2 Submission#

  1. What: Implement REST API endpoint and server-side handlers in Python (Flask/FastAPI).
  2. When (Plan): 2025-11-15
  3. When (Actual): 2025-11-18
  4. Comment: Keep function small where possible and add logging. Deliver a runnable Python app with PostgreSQL connection.

Milestone 3 Submission#

  1. What: Set up Docker containers for Python application and PostgreSQL database.
  2. When (Plan): 2025-11-20
  3. When (Actual): 2025-11-20
  4. Comment: Create Dockerfile and docker-compose.yml for local development and deployment.

Milestone 4 Submission#

  1. What: Add unit tests for REST API.
  2. When (Plan): 2025-11-25
  3. When (Actual): 2025-11-30
  4. Comment: Cover happy path, safety checks, and edge cases using pytest or unittest.

Milestone 5 Submission#

  1. What: Update README.md with REST API spec, Docker setup instructions, and safety notes.
  2. When (Plan): 2025-11-28
  3. When (Actual): 2025-11-30
  4. Comment: Include example curl commands, Docker commands, and environment flag instructions.

Milestone 6 Submission#

  1. What: Deploy Docker containers to AWS (ECS/EC2 or similar service).
  2. When (Plan): 2025-12-01
  3. When (Actual): 2025-11-1
  4. Comment: Set up AWS infrastructure, configure security groups, deploy containers, and verify application is accessible. Update README with deployment instructions and production URL.

This is for instruction: remove when you submit this file

  • For the Plan part, write down your planned date.
  • For the Actual part, write down when you actually finished.