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
- When (Plan): 2025-12-03
- When (Actual): 2025-12-01
- Comment: Create application in Python with Docker and PostgreSQL
Project 2 Milestones
Milestone 1 Submission
- What: Define API contract for REST API endpoint(s) and safety rules.
- When (Plan): 2025-11-10
- When (Actual): 2025-11-17
- Comment: Include endpoint path(s), HTTP method(s), request/response schema, auth/flags, and environment restrictions.
Milestone 2 Submission
- What: Implement REST API endpoint and server-side handlers in Python (Flask/FastAPI).
- When (Plan): 2025-11-15
- When (Actual): 2025-11-18
- Comment: Keep function small where possible and add logging. Deliver a runnable Python app with PostgreSQL connection.
Milestone 3 Submission
- What: Set up Docker containers for Python application and PostgreSQL database.
- When (Plan): 2025-11-20
- When (Actual): 2025-11-20
- Comment: Create Dockerfile and docker-compose.yml for local development and deployment.
Milestone 4 Submission
- What: Add unit tests for REST API.
- When (Plan): 2025-11-25
- When (Actual): 2025-11-30
- Comment: Cover happy path, safety checks, and edge cases using pytest or unittest.
Milestone 5 Submission
- What: Update
README.mdwith REST API spec, Docker setup instructions, and safety notes. - When (Plan): 2025-11-28
- When (Actual): 2025-11-30
- Comment: Include example curl commands, Docker commands, and environment flag instructions.
Milestone 6 Submission
- What: Deploy Docker containers to AWS (ECS/EC2 or similar service).
- When (Plan): 2025-12-01
- When (Actual): 2025-11-1
- 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.