Onboarding Guide
Onboarding Timeline
Pre-onboarding
Goal: Get access and prepare your environment
Action Items:
- Join our discord.
- Request access to:
- https://github.com/stevensblueprint/
- AWS accounts
- Review Blueprint's engineering handbook (style & code standards)
- Install pre-requisites
- Node >= 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 templates
-
Study 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`
-
## Week 2 – AWS Advanced Topics
**Goal:** Move from CDK basics to advanced AWS infrastructure 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 ALB 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 construct to the shared internal library.
---
## 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.
No Comments