# adewalekean/aws-devops-ci-project architecture

> Architecture diagram of the GitHub repository adewalekean/aws-devops-ci-project, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/adewalekean/aws-devops-ci-project
- Repository: https://github.com/adewalekean/aws-devops-ci-project

## Overview

This repository is a small Node.js greeting app wrapped in an AWS CI pipeline. A developer pushes to CodeCommit; CodePipeline triggers CodeBuild, which runs the tests, packages the app, and uploads the artifact to S3. IAM permissions and CloudWatch build logs support that flow. The app also runs locally and prints a greeting. Pipeline relationships and AWS service responsibilities are based on the README; the build configuration and test implementation were not excerpted, so their detailed behavior is not independently verified.

Main entry points: [`app.js`](https://github.com/adewalekean/aws-devops-ci-project/blob/master/app.js) (Greeting App), [`app.test.js`](https://github.com/adewalekean/aws-devops-ci-project/blob/master/app.test.js) (Automated Tests), [`buildspec.yml`](https://github.com/adewalekean/aws-devops-ci-project/blob/master/buildspec.yml) (Artifact Packaging)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_application["Application"]
  node_greeting["Greeting App<br/>[app.js]"]
  node_tests["Automated Tests<br/>[app.test.js]"]
end

subgraph group_pipeline["CI Pipeline"]
  node_codecommit[("CodeCommit")]
  node_codepipeline["CodePipeline"]
  node_codebuild["CodeBuild"]
  node_packaging["Artifact Packaging<br/>[buildspec.yml]"]
  node_s3[("Artifact Bucket")]
end

subgraph group_operations["Pipeline Operations"]
  node_iam["IAM Roles"]
  node_cloudwatch[("CloudWatch Logs")]
end

node_developer(("Developer"))
node_local_user(("Local User"))

node_developer -->|"pushes changes"| node_codecommit
node_codecommit -->|"signals commits"| node_codepipeline
node_codepipeline -->|"starts build"| node_codebuild
node_codebuild -->|"runs tests"| node_tests
node_codebuild -->|"packages app"| node_packaging
node_codebuild -->|"uploads artifact"| node_s3
node_codebuild -->|"writes logs"| node_cloudwatch
node_iam -->|"grants access"| node_codebuild
node_iam -->|"grants access"| node_codepipeline
node_local_user -->|"runs locally"| node_greeting

click node_greeting "https://github.com/adewalekean/aws-devops-ci-project/blob/master/app.js"
click node_tests "https://github.com/adewalekean/aws-devops-ci-project/blob/master/app.test.js"
click node_packaging "https://github.com/adewalekean/aws-devops-ci-project/blob/master/buildspec.yml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_greeting,node_tests,node_local_user toneBlue
class node_codecommit,node_codepipeline,node_codebuild,node_packaging,node_s3 toneAmber
class node_iam,node_cloudwatch toneMint
class node_developer toneIndigo
```

## Components

### Application

- [Greeting App](https://github.com/adewalekean/aws-devops-ci-project/blob/master/app.js): `app.js`
- [Automated Tests](https://github.com/adewalekean/aws-devops-ci-project/blob/master/app.test.js): `app.test.js`

### CI Pipeline

- **CodeCommit**
- **CodePipeline**
- **CodeBuild**
- [Artifact Packaging](https://github.com/adewalekean/aws-devops-ci-project/blob/master/buildspec.yml): `buildspec.yml`
- **Artifact Bucket**

### Pipeline Operations

- **IAM Roles**
- **CloudWatch Logs**

### Other components

- **Developer**
- **Local User**

## Connections

- Developer → CodeCommit: pushes changes (evidence: `README.md`)
- CodeCommit → CodePipeline: signals commits (evidence: `README.md`)
- CodePipeline → CodeBuild: starts build (evidence: `README.md`)
- CodeBuild → Automated Tests: runs tests (evidence: `README.md`)
- CodeBuild → Artifact Packaging: packages app (evidence: `README.md`)
- CodeBuild → Artifact Bucket: uploads artifact (evidence: `README.md`)
- CodeBuild → CloudWatch Logs: writes logs (evidence: `README.md`)
- IAM Roles → CodeBuild: grants access (evidence: `README.md`)
- IAM Roles → CodePipeline: grants access (evidence: `README.md`)
- Local User → Greeting App: runs locally (evidence: `README.md`)
