{"id":13807755,"url":"https://github.com/tarlepp/angular-ngrx-frontend","last_synced_at":"2026-03-08T01:34:15.846Z","repository":{"id":37024751,"uuid":"230750529","full_name":"tarlepp/angular-ngrx-frontend","owner":"tarlepp","description":"Angular NgRx powered frontend template for Symfony (or similar) backend","archived":false,"fork":false,"pushed_at":"2026-03-07T11:06:00.000Z","size":10610,"stargazers_count":13,"open_issues_count":15,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-07T17:54:31.544Z","etag":null,"topics":["angular","frontend","hacktoberfest","ngrx-store"],"latest_commit_sha":null,"homepage":"","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/tarlepp.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-12-29T12:58:00.000Z","updated_at":"2026-03-07T11:02:10.000Z","dependencies_parsed_at":"2023-02-18T23:31:06.579Z","dependency_job_id":"91ea87d1-0f7f-4712-ab69-70cd7da97a19","html_url":"https://github.com/tarlepp/angular-ngrx-frontend","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/tarlepp/angular-ngrx-frontend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarlepp%2Fangular-ngrx-frontend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarlepp%2Fangular-ngrx-frontend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarlepp%2Fangular-ngrx-frontend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarlepp%2Fangular-ngrx-frontend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tarlepp","download_url":"https://codeload.github.com/tarlepp/angular-ngrx-frontend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tarlepp%2Fangular-ngrx-frontend/sbom","scorecard":{"id":182194,"data":{"date":"2025-08-16T17:03:23Z","repo":{"name":"github.com/tarlepp/angular-ngrx-frontend","commit":"8a4f392827c651f493348d4f5cc4c9cf6e05c4ab"},"scorecard":{"version":"v5.1.1","commit":"cd152cb6742c5b8f2f3d2b5193b41d9c50905198"},"score":5.4,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#dependency-update-tool"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecard.yml:32","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecard.yml:33","Warn: no topLevel permission defined: .github/workflows/codeql-analysis.yml:1","Warn: no topLevel permission defined: .github/workflows/main.yml:1","Info: topLevel permissions set to 'read-all': .github/workflows/scorecard.yml:20","Warn: no topLevel permission defined: .github/workflows/vulnerability-scan.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 0/6 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#security-policy"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: SAST configuration detected: CodeQL","Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#sast"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#branch-protection"}},{"name":"Contributors","score":10,"reason":"project has 4 contributing companies or organizations","details":["Info: found contributions from: UniBot, by-pinja, geekcollision, pinja"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#contributors"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#fuzzing"}},{"name":"CI-Tests","score":10,"reason":"6 out of 6 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#ci-tests"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql-analysis.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/codeql-analysis.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:107: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/main.yml:129: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/main.yml:139: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/main.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecard.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/scorecard.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/scorecard.yml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/scorecard.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecard.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/scorecard.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/scorecard.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/scorecard.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/vulnerability-scan.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/vulnerability-scan.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/vulnerability-scan.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/tarlepp/angular-ngrx-frontend/vulnerability-scan.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:2","Warn: containerImage not pinned by hash: Dockerfile:11","Warn: containerImage not pinned by hash: Dockerfile:95","Warn: containerImage not pinned by hash: Dockerfile:106","Warn: containerImage not pinned by hash: Dockerfile:117","Warn: pipCommand not pinned by hash: Dockerfile:68","Info:   0 out of  18 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned","Info:   0 out of   5 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":1,"reason":"9 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/cd152cb6742c5b8f2f3d2b5193b41d9c50905198/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T19:04:09.336Z","repository_id":37024751,"created_at":"2025-08-16T19:04:09.337Z","updated_at":"2025-08-16T19:04:09.337Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30240901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T00:58:18.660Z","status":"ssl_error","status_checked_at":"2026-03-08T00:55:48.608Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","frontend","hacktoberfest","ngrx-store"],"created_at":"2024-08-04T01:01:29.960Z","updated_at":"2026-03-08T01:34:15.821Z","avatar_url":"https://github.com/tarlepp.png","language":"TypeScript","readme":"# What is this?\n\n[![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n![CI](https://github.com/tarlepp/angular-ngrx-frontend/workflows/CI/badge.svg)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/tarlepp/angular-ngrx-frontend/badge)](https://securityscorecards.dev/viewer/?platform=github.com\u0026org=tarlepp\u0026repo=angular-ngrx-frontend)\n\nAngular NgRx powered frontend template project for\n[Symfony Flex Backend](https://github.com/tarlepp/symfony-flex-backend)\nor any other backend that is providing similar API.\n\n## Table of Contents\n\n* [What is this](#what-is-this)\n  * [Table of Contents](#table-of-contents)\n  * [Requirements](#requirements-table-of-contents)\n    * [Recommendations](#recommendations-table-of-contents)\n  * [Installation](#installation-table-of-contents)\n    * [1. Clone repository](#1-clone-repository-table-of-contents)\n    * [2. Start containers](#2-start-containers-table-of-contents)\n    * [3. Using application](#3-using-application-table-of-contents)\n    * [4. Getting shell to container](#4-getting-shell-to-container-table-of-contents)\n    * [5. Building containers](#5-building-containers-table-of-contents)\n  * [Resources](#resources-table-of-contents)\n  * [External links / resources](#external-links--resources-table-of-contents)\n  * [Authors](#authors-table-of-contents)\n  * [License](#license-table-of-contents)\n\n## Requirements [ᐞ](#table-of-contents)\n\n* [Docker Engine](https://docs.docker.com/engine/install/)\n\n### Recommendations [ᐞ](#table-of-contents)\n\n* `*nix platform` - most likely you're going to host your application on *nix\n  platform - so I would recommend to do development also on that platform.\n* `Makefile` support - if you don't have this you need to look `Makefile` file\n  to see what each `make` command is doing.\n\n## Installation [ᐞ](#table-of-contents)\n\n### 1. Clone repository [ᐞ](#table-of-contents)\n\nUse your favorite IDE and get checkout from GitHub or just use following command\n\n```bash\ngit clone https://github.com/tarlepp/angular-frontend.git\n```\n\n### 2. Start containers [ᐞ](#table-of-contents)\n\nFor this just run following command:\n\n```bash\nmake start\n```\n\nThis command will create one (1) Docker container where your application is\nrunning on development stage.\n\n### 3. Using application [ᐞ](#table-of-contents)\n\nBy default `make start` command starts Angular application on Docker container\nand exposes following port on `localhost` (note that application is using\nhttps):\n\n* 4200 (Angular Live Development Server)\n\nAnd this application is usable within your browser on `https://localhost:4200`\naddress. When you first time open that site you will see \"Your connection is\nnot private\" warning - see [this](./docker/ssl/README.md) to resolve that.\n\nNote that this frontend application assumes that your backend is running on\n`https://localhost:8000` address. Also note that _\"default\"_\n[backend](https://github.com/tarlepp/symfony-flex-backend)\nis running on that address by default.\n\n### 4. Getting shell to container [ᐞ](#table-of-contents)\n\nAfter you've run `make start` command you can list all running containers with\n`docker ps` command.\n\nAnd to e.g. get shell access inside one of those containers you can run following\nshortcut command:\n\n```bash\nmake bash\n```\n\nWhere that `node` is that actual container where this backend application is\nrunning.\n\n### 5. Building containers [ᐞ](#table-of-contents)\n\nFrom time to time you probably need to build containers again. This is something\nthat you should do always if you have some problems to get containers up and\nrunning. This you can do with following command:\n\n```bash\nmake start-build\n```\n\n## Resources [ᐞ](#table-of-contents)\n\n* [Resource index](doc/README.md)\n* [Custom commands](doc/COMMANDS.md)\n* [Concepts and features](doc/CONCEPTS_AND_FEATURES.md)\n* [Dependency update](doc/DEPENDENCY_UPDATE.md)\n* [Speed problems with application?](doc/SPEED_UP_DOCKER_COMPOSE.md)\n* [Tools](doc/TOOLS.md)\n* [Translations](doc/TRANSLATIONS.md)\n* [Usage checklist](doc/USAGE_CHECKLIST.md)\n* [Scripts](scripts/README.md)\n\n## External links / resources [ᐞ](#table-of-contents)\n\n* [Angular](https://angular.io/)\n* [Angular Material](https://material.angular.io/)\n* [Material Icons](https://material.io/resources/icons/)\n* [Angular Flex-Layout](https://github.com/angular/flex-layout)\n* [The RxJS Library](https://angular.io/guide/rx-library)\n* [NgRx Reactive State for Angular](https://ngrx.io/)\n* [Redux DevTools](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd)\n\n## Authors [ᐞ](#table-of-contents)\n\n* [Tarmo Leppänen](https://github.com/tarlepp)\n\n## License [ᐞ](#table-of-contents)\n\n[The MIT License (MIT)](LICENSE)\n\nCopyright © 2024 Tarmo Leppänen\n","funding_links":[],"categories":["Site Templates"],"sub_categories":["Free Templates"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarlepp%2Fangular-ngrx-frontend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftarlepp%2Fangular-ngrx-frontend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarlepp%2Fangular-ngrx-frontend/lists"}