Employees Info API — Scope
A small serverless API for employee records managed via Jira + GitHub SDLC and deployed with AWS SAM.
- Endpoints:
POST /employees
,GET /employees/{{id}}
,GET /employees?department=Sales
,PUT /employees/{{id}}
,DELETE /employees/{{id}}
- Core fields:
employee_id
(UUID),first_name
,last_name
,email
,department
,title
,hire_date
,status
DynamoDB Data Model
- Table:
employees
— PK:employee_id
- GSI #1:
gsi_department
— PK:department
, SK:employee_id
(query by department) - GSI #2 (optional):
gsi_email
— PK:email
(lookup by email)
Week 1 · Jira Foundations & SDLC Setup
Create Jira projects, map workflows, and plan the Employees Info API.
Outcome: Jira project + backlogArtifacts: Epics, stories, workflow
Day 1 Jira Account & Project
- Create Jira account; create Scrum project
EMP
; set roles and members. - Checkpoint: Team can create/assign a story.
Day 2 SDLC in Jira
- Draft Epics (API, Data Model, CI/CD, Observability) and stories (CRUD, GSI, tests, deploy).
- Checkpoint: Backlog ready; DoD agreed.
Day 3 Boards & Workflows
- Customize workflow: To Do → In Progress → In Review → Done; set validators.
- Checkpoint: Board reflects workflow and columns.
Day 4 Sprint Planning
- Start Sprint 1; estimate; define capacity; acceptance criteria for POST/GET.
- Checkpoint: Sprint board active with owners and due dates.
Week 2 · GitHub Integration with Jira
Connect repos, enforce branch strategy, and link code to issues.
Outcome: linked PRs & workflowsArtifacts: branch policy, PR template
Day 5 Link Jira ↔ GitHub
- Install Jira GitHub app; authorize org/repo; connect project
EMP
to repoemployees-api
. - Checkpoint: Jira shows recent PRs/commits.
Day 6 Smart Commits & Branch Naming
- Create branch
EMP-12-create-employee
; use smart commit messages (EMP-12 #in-progress
). - Checkpoint: Jira status auto-updates from commits.
Day 7 PR Reviews & Gates
- Open PR referencing
EMP-12
; require approvals; add PR template. - Checkpoint: PR merged; Jira transitions to Done.
Day 8 Actions Status to Jira
- Configure workflow checks (build/test) as required; surface run status in Jira panel.
- Checkpoint: Failed checks block merge; status visible in Jira.
Week 3 · AWS SAM Basics & Local Dev
Initialize SAM project, emulate locally, and define DynamoDB.
Outcome: local API workingArtifacts: template + local tests
Day 9 Setup & Init
- Install SAM CLI; sam init for Employees API; add
GET /health
Lambda. - Checkpoint: Repo pushed; Jira linked.
Day 10 Build & Local Invoke
- sam build; sam local invoke with sample event; add validation & errors.
- Checkpoint: Function runs locally with correct payload.
Day 11 Local API & Routing
- sam local start-api; implement
POST /employees
,GET /employees/{{id}}
. - Checkpoint: curl works; logs inspected.
Day 12 DynamoDB Integration
- Add table & GSI to template; CRUD lambdas read/write items.
- Checkpoint: Local calls read/write to DynamoDB (local or dev).
Week 4 · CI/CD & AWS Deployment
Automate build, test, and deploy with GitHub Actions; adopt OIDC to AWS.
Outcome: auto deploy to devArtifacts: pipeline YAML, role trust
Day 13 First Deploy
- Configure creds or OIDC role; sam deploy --guided to dev.
- Checkpoint: API Gateway endpoint returns 200.
Day 14 CI for Build & Tests
- Add workflow to build, run unit tests, and lint on PR; require green checks.
Day 15 CD to AWS with OIDC
- Configure GitHub → AWS OIDC trust; deploy to dev on main merges; gate with environments.
Day 16 E2E SDLC Flow
- Jira issue → branch/PR → CI → CD → Jira status update; publish release notes.
Week 5 · Capstone & Wrap‑Up
Deliver the Employees Info API end‑to‑end with demo and retrospective.
Outcome: production‑like demoArtifacts: runbook, demo script
Day 17 Capstone Kickoff
- Create Epic; stories for each endpoint + tests; acceptance criteria & non‑functional checks.
Day 18 Build & Review
- Implement remaining endpoints; PRs referencing Jira keys; ensure checks pass.
Day 19 Deploy & Validate
- Merge to main; pipeline deploys; smoke test POST/GET/PUT/DELETE; show logs/metrics.
Day 20 Demo & Retro
- Demo: create employee, update title, list by department, delete; retrospective & next steps.
Assessment & Rubric
Pass
- Jira project with workflow; backlog managed through a sprint.
- GitHub linked to Jira; PRs reference issues; checks required.
- SAM local works; DynamoDB CRUD functions.
- CI builds/tests; CD deploys via OIDC to dev; environment protections set.
- Employees API endpoints function; basic runbook exists.
Stretch
- IaC refinement (parameters, outputs, multiple stages).
- Auth (Cognito/JWT), request validation, error taxonomy.
- Observability (structured logs, metrics, dashboard).
Resources
- Jira Cloud: Projects, Workflows, Smart Commits.
- GitHub: Branch protection, PR templates, Actions.
- AWS SAM: CLI, local invoke, start-api, deploy.
- AWS: DynamoDB, API Gateway HTTP APIs, IAM OIDC roles.
Keep theory ≤5 minutes/hour. Prioritize hands‑on labs, pairing, and debriefs.