Onboarding Document
[Insert NPO name] Onboarding Timeline
Pre-onboarding
| NPO | [Insert NPO name, hyperlink to their website] |
| Primary Contacts | [Insert Tech Lead and |
| Repository Links | [List of repositories used for the project in the following format (respository name with hyperlink to gh repo)] |
| Issue Tracker | [Direct link to gh issue tracker] |
Overview
Provide a short description of the NPO [What do they do? Where are they located? Group of people their services are focused on?]
ActionProvide Items:a high-level description of what the project does, what problem does it solve, who will be using it?
Architecture
Include a short explanation of the system's main components:
JoinCoreour discord.ServicesRequestFrameworks.accessIfto:you- are
https://github.com/stevensblueprint/using a niche framework (PayloadCMS, Glom) include a link to their documentation.AWS accounts
DatabasesReviewAuthenticationBlueprint's engineering handbook (style & code standards)Install pre-requisitesNode >= 18, Python >= 3.10, Docker, Docker Compose, AWS CLI, CDK v2
Week 1
Goal: Understand Blueprint’s deployment model and CDK architecture.
Action Items:
Understand how CDK synthesizes CloudFormation templatesStudy ECS service and ALB definitions, environment variable propagation, and secret management.Exercise:Add an encrypted S3 bucket via CDK.Grant ECS task IAM permissions using `iam.PolicyStatement`.Deploy with `cdk deploy`
mechanisms
##[Insert Weekthe 2architecture –document AWScreated Advancedbefore Topicsproject kickoff]
Challenges
**Goal:**Give Movea fromprioritized CDKlist basicsof all main challenges your team is currently facing and a possible path to advancedsolve AWSthem. infrastructureEncourage patterns.
### Action Items
- Networking and Security:
- Diagram the VPC, subnets, and routing in an existing stack.
- Add a VPC endpoint for S3 or Secrets Manager using CDK.
- Explain ECS service isolation (public ALBthem to private RDS instance).
- Compute Scaling and Observability:
- Implement ECS autoscaling based on CPU/memory metrics.
- Add log drivers (AWSLogs or FireLens) for structured CloudWatch logging.
- Exercise:
- Build a reusable ECS microservice construct with environment variables, secrets, and IAM roles.
- Parameterize for development and staging environments.
- Deliverable: Open a pull request adding your CDK constructcontribute to the sharedproblem internalsolving library.brainstorm.
---
## Week 3 – FastAPI Deep Dive (Backend Layer)
**Goal:** Master FastAPI for scalable backend development with asynchronous I/O and strong typing.
### Action Items
- Architecture Review:
- Explore routers, dependencies, middlewares, and ORM models.
- Review how Blueprint services use SQLAlchemy and Pydantic models.
- Advanced Topics:
- Build asynchronous endpoints using `asyncpg` and connection pooling.
- Implement middleware for structured logging and correlation IDs.
- Introduce background processing with `BackgroundTasks` or Celery.
- Exercise:
- Implement a new CRUD route using async SQLAlchemy.
- Add nested Pydantic validation and request/response models.
- Write end-to-end tests using `pytest-asyncio`.
- Deliverable: Merge a PR with a new FastAPI module, achieving 80%+ test coverage.
---
## Week 4 – React Architecture and Frontend Systems
**Goal:** Build production-ready, performant React interfaces aligned with Blueprint’s design standards.
### Action Items
- Codebase Analysis:
- Review the Blueprint web template (React + Vite + Tailwind).
- Understand component hierarchy, React Query patterns, and context usage.
- Advanced Topics:
- Data caching and synchronization using React Query.
- Optimistic updates and error boundaries.
- Component composition following atomic design principles.
- Exercise:
- Build a paginated table with infinite scrolling backed by an internal API.
- Add skeleton loaders and form validation.
- Testing:
- Write component tests with Jest and Testing Library.
- Add end-to-end UI tests using Playwright or Cypress.
- Deliverable: Submit a PR containing a complete and tested React feature.
---
## Week 5 – System Integration and CI/CD
**Goal:** Integrate backend and frontend systems and manage deployments independently.
### Action Items
- Connect the FastAPI backend module with the React frontend.
- Configure GitHub Actions:
- Create lint and test workflows for web and server.
- Add workflow triggers for pull requests and merges to `main`.
- Extend CDK stack:
- Include API and web containers in ECS service definitions.
- Use multi-stage Docker builds for production images.
- Create `.github/workflows/deploy.yml` for ECS deployments using OIDC role assumption.
- Deploy to the sandbox environment and validate via health checks.
- Deliverable: End-to-end feature deployed successfully on ECS.