All 60 tasks, level by level
The real graded Software Architecture tasks the portal assigns, grouped into three levels.
The portal assigns these Software Architecture tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.
Level 1: Foundations (24 tasks)
| Task | What to do |
|---|---|
| What architects do | Write a page on the role of a software architect: decisions, trade-offs, communication and quality attributes. |
| Quality attributes | Define performance, scalability, availability, security, maintainability and cost, with a measurable example for each. |
| Layered architecture | Build a small app with presentation, business and data layers, and explain what each layer may and may not call. |
| SOLID principles | Show each SOLID principle with a short bad and good code example. |
| Design patterns tour | Implement Factory, Strategy, Observer and Adapter in one language, with a real use case for each. |
| UML and C4 diagrams | Draw a C4 context and container diagram for an online food-ordering app. |
| Monolith analysis | Pick an open-source monolith on GitHub and describe its modules and how they depend on each other. |
| API contracts | Write an OpenAPI contract for a service before writing its code, and explain contract-first design. |
| Coupling and cohesion | Find a tightly coupled piece of code (yours or open source) and refactor it to reduce coupling. |
| Architecture decision record | Write an ADR choosing between SQL and NoSQL for a project, with context, options and consequences. |
| Non-functional requirements | Write NFRs for a college result portal: load, response time, uptime, security and data retention. |
| Read a real case study | Summarise an engineering blog post about a large system's architecture and list three lessons. |
| Architecture katas | Solve one architecture kata (a short design exercise) in 45 minutes and write up your design. |
| Component diagram | Draw a C4 component diagram for one container of an app you built. |
| Dependency graph | Generate a dependency graph of a project's modules and find any cycles. |
| Twelve-factor app | Check an app against the twelve-factor principles and fix two gaps. |
| Clean architecture | Explain clean/hexagonal architecture and restructure a small app into ports and adapters. |
| Interface design | Design interfaces for a payment module so the provider can be swapped easily. |
| Error handling strategy | Write an error handling and logging strategy for a whole application. |
| Configuration strategy | Design how configuration and feature flags are managed across environments. |
| Code review for design | Review a pull request only for design issues (coupling, naming, boundaries). |
| Read an ADR log | Read the ADRs of an open-source project and summarise three decisions. |
| Sequence diagram | Draw a sequence diagram for a login and an order checkout flow. |
| Glossary for a domain | Create a ubiquitous language glossary for an online learning platform. |
Level 2: Building real features (20 tasks)
| Task | What to do |
|---|---|
| Client-server and n-tier | Deploy a three-tier app (frontend, API, database) and document how requests flow. |
| Modular monolith | Restructure an app into clear modules with public interfaces and no cross-module database access. |
| Microservices split | Split one app into two services that talk over HTTP, and list the new problems this created. |
| Event-driven design | Make two services communicate through a message queue (RabbitMQ, Kafka or a cloud queue) and explain why. |
| Caching strategy | Add a cache to a slow endpoint and explain cache-aside, TTLs and invalidation in your design. |
| Database scaling | Explain replicas, sharding and partitioning, and design how your app's data would scale to 10 million users. |
| API gateway | Put an API gateway or reverse proxy (NGINX) in front of your services for routing, rate limiting and TLS. |
| Resilience patterns | Implement retries with backoff, timeouts and a circuit breaker between two services. |
| Domain-driven design | Identify bounded contexts, entities and aggregates for an e-commerce system and draw a context map. |
| Trade-off analysis | Compare REST, GraphQL and gRPC for one use case and recommend one with reasons. |
| Event storming | Run an event storming session (even alone) for a food delivery system and capture events, commands and aggregates. |
| Data ownership | Decide which service owns each data entity in a microservice design and how others get it. |
| Outbox pattern | Implement the transactional outbox pattern so events are published reliably. |
| Idempotent consumers | Make a message consumer safe to process the same message twice. |
| API composition | Build a backend-for-frontend that combines data from two services for one screen. |
| Feature toggles | Add feature flags to release a feature gradually and remove the flag afterwards. |
| Multi-region thinking | Explain how you would serve users in India and Europe with low latency and data rules. |
| Capacity estimate | Estimate storage, bandwidth and QPS for a photo-sharing app with 1 million users. |
| Read model | Build a separate read-optimised model (CQRS) for a reporting screen. |
| Architecture fitness tests | Write automated tests that fail if a forbidden module dependency is added. |
Level 3: Professional work and capstone (16 tasks)
| Task | What to do |
|---|---|
| Design a URL shortener | Produce a full design: requirements, API, data model, scaling, caching and a capacity estimate. |
| Design a chat system | Design a real-time chat with presence and message history, and explain your choice of WebSockets and storage. |
| Observability architecture | Design logging, metrics and tracing for a microservice system and set up a small demo with OpenTelemetry. |
| Security architecture | Design authentication, authorisation, secrets and encryption for a multi-service app. |
| Cost-aware cloud design | Design a cloud deployment for a startup and estimate its monthly cost with the provider's calculator. |
| Architecture review | Review a classmate's or open-source project's architecture and write a constructive report with risks and fixes. |
| Migration plan | Write a step-by-step plan to move a monolith to services using the strangler pattern, with risks at each step. |
| Capstone: architecture document | Produce a complete architecture document for a real product idea: context, C4 diagrams, ADRs, NFRs, scaling, security and a prototype of the hardest part. |
| Design a payment system | Design a payment system with idempotency, ledgers, reconciliation and failure handling. |
| Design a notification system | Design email, SMS and push notifications with preferences, retries and rate limits. |
| Design a search system | Design search with indexing, ranking and freshness for an e-commerce catalogue. |
| Design a video platform | Design upload, transcoding, storage and streaming with a CDN. |
| Platform engineering | Design an internal developer platform with templates, CI/CD and self-service environments. |
| Sustainability | Estimate the carbon and cost impact of a design and suggest greener choices. |
| Architecture presentation | Present an architecture to non-technical stakeholders in 10 minutes and collect feedback. |
| Capstone 2: design portfolio | Publish three complete system designs with diagrams, trade-offs, estimates and ADRs as a portfolio site. |