{"id":13806787,"url":"https://github.com/bluehalo/ngx-starter","last_synced_at":"2025-07-09T21:30:43.067Z","repository":{"id":39674083,"uuid":"148511318","full_name":"bluehalo/ngx-starter","owner":"bluehalo","description":"An @angular/cli based starter containing common components and services as well as a reference site.","archived":false,"fork":false,"pushed_at":"2024-05-28T17:59:45.000Z","size":4275,"stargazers_count":12,"open_issues_count":6,"forks_count":10,"subscribers_count":21,"default_branch":"develop","last_synced_at":"2024-05-29T08:21:18.472Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bluehalo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2018-09-12T16:43:00.000Z","updated_at":"2024-05-30T18:07:55.017Z","dependencies_parsed_at":"2023-12-05T17:41:51.256Z","dependency_job_id":"d968fbfc-7221-47cc-a6f2-1c15dbae6e45","html_url":"https://github.com/bluehalo/ngx-starter","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bluehalo/ngx-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluehalo%2Fngx-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluehalo%2Fngx-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluehalo%2Fngx-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluehalo%2Fngx-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bluehalo","download_url":"https://codeload.github.com/bluehalo/ngx-starter/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bluehalo%2Fngx-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264503949,"owners_count":23618762,"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","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":[],"created_at":"2024-08-04T01:01:16.175Z","updated_at":"2025-07-09T21:30:42.643Z","avatar_url":"https://github.com/bluehalo.png","language":"TypeScript","funding_links":[],"categories":["Angular"],"sub_categories":["CLI Tools"],"readme":"[![Build Status](https://travis-ci.org/Asymmetrik/ngx-starter.svg?branch=develop)](https://travis-ci.org/Asymmetrik/ngx-starter)\n[![Maintainability](https://api.codeclimate.com/v1/badges/73f9115195f090de0556/maintainability)](https://codeclimate.com/github/Asymmetrik/ngx-starter/maintainability)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/73f9115195f090de0556/test_coverage)](https://codeclimate.com/github/Asymmetrik/ngx-starter/test_coverage)\n\n# ngx-starter\nThis project was generated with [Angular CLI](https://github.com/angular/angular-cli).\nIt provides a foundation on which to build custom applications that share common features and functionality.\nTowards this goal, it provides common and reusable utilities.\nIn addition, it provices a reference application that demonstrates conventions and best practices.\n\nThis application tries to adhere to the [Angular Style Guide](https://angular.io/guide/styleguide).\nThe basic project structure is established by [Angular CLI](https://github.com/angular/angular-cli).\nThis documentation will only discuss aspects that are unique to it.\n\n## Development\n\n### NPM Scripts\n\nThis starter application provides a number of NPM tools for ease of development. Following sections go into further detail on some of these scripts:\n\nnpm run ... | Description\n--- | ---\nng | Enters the Angular CLI.\nstart | Start the app for development that will rebuild and reload as you change files.\nstart:prod | Start the app for production by building assets into, and serving them from, the `./dist` directory.\nbuild | Runs a development build that will ensure all code compiles correctly.\nbuild:prod | Runs a production build that will output assets into the `./dist` directory.\nbuild:bundle-report | Builds for development and starts a Webpack Bundle Analyzer on local port 8888. Then, opens a browser to this port. Useful in identifying module optimizations.\ntest | Run karma tests with a watcher that will update as you change files.\ntest:ci | Runs karma tests once and outputs code coverage results upon successful execution.\nlint | Runs the Angular CLI lint task (`ng lint`) and runs `stylelint` to lint scss files as configured by `stylelint.config.js`\nlint:fix | Runs the lint task and stylelint with the `--fix` option. Will make corrections to files where able.\ne2e | Runs end-to-end tests once and outputs test results to the console.\n\n### Running the Development Server\n`npm start` starts the development server.\n\nThis command will start the Angular.io application running in development mode.\nIt will run `ng serve --proxy-config proxy.conf.json`.\n\n### Running the Development Server in Production Mode\n`npm run start:prod` will run the development server in production mode.\nThis will run `ng serve --proxy-config proxy.conf.json --prod`.\n\n### Tests\n## Running unit tests\nRun `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).\n\n### Proxy Config\nWhen running the development server, all requests to `api/*` are proxied to `localhost:3000`.\n\n### Proxy Config with PKI\nTo configure the development server for PKI mode, you can proxy the back-end requests through nginx.\n\nTo do this, configure nginx to listen on port 3000 and proxy requests through to your REST API.\n\nYou can configure nginx to hardcode append the `X-SSL-Client-S-DN` header for all requests so you don't actually have to use PKI in the browser. For example, the value of this header is configurable through the `proxyPkiPrimaryUserHeader` property in the [Node REST Starter API](https://github.com/Asymmetrik/node-rest-starter).\n\n```\n# Cluster Definition\nupstream app_cluster {\n        ip_hash;\n        server localhost:3000 fail_timeout=10s max_fails=0;\n}\n\n# Server Definition\nserver {\n\n        listen 3001;\n        server_name  localhost;\n\n        # Server-specific access log\n        access_log  /usr/local/var/log/nginx/ngx-starter.access.log  fmt_access;\n\n        client_max_body_size 0;\n        client_body_buffer_size 500M;\n\n        # Forwarding all locations to the destination\n        location / {\n\n                # Set a header with the client DN\n                proxy_set_header X-SSL-Client-S-DN 'reblace';\n                proxy_set_header verify true;\n\n                # Set the client's IP and Forwarded-For chain\n                proxy_set_header Host                   $host;\n                proxy_set_header X-Real-IP              $remote_addr;\n                proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;\n\n                # Forward traffic to the destination\n                proxy_pass http://app_cluster;\n                proxy_redirect off;\n                proxy_buffering off;\n\n                # Http upgrade settings for websockets\n                proxy_http_version 1.1;\n                proxy_set_header Upgrade $http_upgrade;\n                proxy_set_header Connection \"upgrade\";\n\n                # Proxy settings for applications\n                proxy_set_header X-ProxyScheme $scheme;\n                proxy_set_header X-Forwarded-Proto $scheme;\n                proxy_set_header X-ProxyHost $host;\n                proxy_set_header X-ProxyPort  443;\n                proxy_set_header X-ProxyContextPath \"\";\n        }\n}\n```\n\n## Deployment\n\n### Build\n`npm run build` builds the project and outputs artifacts to `./dist`.\n\n## Project Layout and Conventions\n### Core, Common, Site\n### Styles\n\n## Authentication\n### Pki Mode vs Login Mode\n### Cookie-based Sessions\n### HTTPInterceptors and AuthGuards \n\n## Further help\nTo get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluehalo%2Fngx-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbluehalo%2Fngx-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbluehalo%2Fngx-starter/lists"}