{"id":26076679,"url":"https://github.com/sravimohan/aaaa-stack","last_synced_at":"2026-04-12T17:04:57.268Z","repository":{"id":281253660,"uuid":"941250096","full_name":"sravimohan/aaaa-stack","owner":"sravimohan","description":"Angular, ASP.NET, AWS and Azure AD Sample Stack","archived":false,"fork":false,"pushed_at":"2025-04-13T21:08:17.000Z","size":328,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-04T04:43:16.127Z","etag":null,"topics":["angular","asp-net","aws","azure-ad"],"latest_commit_sha":null,"homepage":"https://sravimohan.github.io/aaaa-stack/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sravimohan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-01T20:54:59.000Z","updated_at":"2025-04-13T21:08:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"9d2a5e57-a0d6-43d1-aac3-d9770c4e6aa0","html_url":"https://github.com/sravimohan/aaaa-stack","commit_stats":null,"previous_names":["sravimohan/aaaa-stack"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sravimohan/aaaa-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sravimohan%2Faaaa-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sravimohan%2Faaaa-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sravimohan%2Faaaa-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sravimohan%2Faaaa-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sravimohan","download_url":"https://codeload.github.com/sravimohan/aaaa-stack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sravimohan%2Faaaa-stack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270161555,"owners_count":24537668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","asp-net","aws","azure-ad"],"created_at":"2025-03-09T02:06:18.659Z","updated_at":"2026-04-12T17:04:57.238Z","avatar_url":"https://github.com/sravimohan.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nThe AAAA Stack is a modern web development stack that leverages a combination of powerful technologies to build scalable and robust applications. It is especially popular for building enterprise line of business applications.\n\n## Components of the Stack\n\n| Technology      | Description                    |\n| --------------- | ------------------------------ |\n| Angular         | Front-end framework            |\n| ASP.Net Web API | Back-end framework             |\n| AWS             | Cloud service provider         |\n| Azure AD        | Identity and access management |\n\n## High Level Design\n\n```mermaid\ngraph TD\n    subgraph AWS ECS\n        Angular[Angular App]\n        ASPNet[ASP.Net Web API]\n    end\n        AzureAD[Azure AD]\n    Angular --\u003e AzureAD\n    ASPNet --\u003e AzureAD\n```\n\n## Get Started\n\nTo get started with the AAAA Stack, follow the instructions in the [Getting Started Guide](doc/getting-started.md).\n\n## Technology Overview\n\n- **Angular**: A front-end framework by Google for building dynamic single-page applications (SPAs) with features like two-way data binding and dependency injection.\n\n  - **MSAL.js**: A library for JavaScript applications to authenticate users with Azure AD and obtain tokens for API access. [Learn more](https://github.com/AzureAD/microsoft-authentication-library-for-js)\n  - **Angular Material**: A UI component library for Angular, providing modern and responsive design elements. [Learn more](https://material.angular.io/)\n\n- **ASP.Net Web API**: A .NET framework for creating RESTful APIs, known for its simplicity and performance.\n\n  - **ASP.NET Core Identity**: The API uses JWT (JSON Web Tokens) sent from the front end for authentication and authorization. This approach ensures secure communication between the front end and back end, leveraging token-based authentication to protect APIs with various scope and role-based authorization techniques. [Learn more](https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity)\n\n- **AWS**: A cloud platform by Amazon offering services like computing power and storage. AWS Fargate allows running containers without managing servers, providing seamless scaling and security. The following services will be used:\n\n  - **Amazon Elastic Container Service with Fargate (Amazon ECS)**: Used to host the front-end and back-end.\n  - **Amazon Elastic Container Registry (ECR)**: Used to store and deploy our docker images.\n  - **AWS Lambda**: For event processing, configured with permissions to invoke protected back-end APIs.\n  - **AWS CDK**: For infrastructure as code with TypeScript.\n\n- **Azure AD (Entra ID)**: Microsoft's cloud-based identity and access management service.\n  - Single sign-on (SSO)\n  - Fine grained user and app permissions for front-end, back-end, and daemon apps with application scope and roles.\n\n## CI / CD\n\n**GitHub Actions** is used to automate your build, test, and deployment pipeline. This powerful CI/CD tool allows you to define workflows that can build, test, and deploy your application whenever changes are pushed to your repository.\n\nBy leveraging GitHub Actions, you can ensure a consistent and reliable process for delivering your applications.\n\n## FAQ\n\n### Why the name 'AAAA'?\n\nIt's an acronym for Angular, ASP.Net, AWS, and Azure AD. We will also use A4 interchangeably. Also, I couldn't find a better name, so here we are!\n\n### Where is the Database?\n\nYou can use any database with the AAAA Stack. The choice of database depends on your specific requirements and preferences. Popular options include SQL databases like Microsoft SQL Server or PostgreSQL, and NoSQL databases like MongoDB or DynamoDB. Detailed documentation for integrating these databases with the stack is available, but it is beyond the scope of this example. Also, I couldn't find a database starting with 'A'. 🙂\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsravimohan%2Faaaa-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsravimohan%2Faaaa-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsravimohan%2Faaaa-stack/lists"}