{"id":33224530,"url":"https://github.com/hasanhameed07/angular2-dashboard-starter","last_synced_at":"2026-01-12T01:55:13.279Z","repository":{"id":57147641,"uuid":"51833005","full_name":"hasanhameed07/angular2-dashboard-starter","owner":"hasanhameed07","description":null,"archived":false,"fork":false,"pushed_at":"2017-04-18T09:32:45.000Z","size":5906,"stargazers_count":97,"open_issues_count":7,"forks_count":46,"subscribers_count":17,"default_branch":"master","last_synced_at":"2024-08-10T23:43:57.427Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/hasanhameed07.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-16T12:05:16.000Z","updated_at":"2023-03-28T12:44:39.000Z","dependencies_parsed_at":"2022-09-06T15:02:23.642Z","dependency_job_id":null,"html_url":"https://github.com/hasanhameed07/angular2-dashboard-starter","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/hasanhameed07/angular2-dashboard-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanhameed07%2Fangular2-dashboard-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanhameed07%2Fangular2-dashboard-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanhameed07%2Fangular2-dashboard-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanhameed07%2Fangular2-dashboard-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasanhameed07","download_url":"https://codeload.github.com/hasanhameed07/angular2-dashboard-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasanhameed07%2Fangular2-dashboard-starter/sbom","scorecard":{"id":456721,"data":{"date":"2025-08-11","repo":{"name":"github.com/hasanhameed07/angular2-dashboard-starter","commit":"30e091ba0bacfed2d224c16365cc3aa60fc8c002"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/18 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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}}]},"last_synced_at":"2025-08-19T09:53:54.162Z","repository_id":57147641,"created_at":"2025-08-19T09:53:54.163Z","updated_at":"2025-08-19T09:53:54.163Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28331311,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"ssl_error","status_checked_at":"2026-01-12T00:36:15.229Z","response_time":60,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2025-11-16T16:00:39.037Z","updated_at":"2026-01-12T01:55:13.274Z","avatar_url":"https://github.com/hasanhameed07.png","language":"JavaScript","funding_links":[],"categories":["Awesome Angular [![Awesome TipeIO](https://img.shields.io/badge/Awesome%20Angular-@TipeIO-6C6AE7.svg)](https://github.com/gdi2290/awesome-angular) [![Awesome devarchy.com](https://img.shields.io/badge/Awesome%20Angular-@devarchy.com-86BDC1.svg)](https://github.com/brillout/awesome-angular-components)"],"sub_categories":["Angular \u003ca id=\"angular\"\u003e\u003c/a\u003e"],"readme":"# angular2-dashboard-starter\nReady to use dashboard starter/seed project based on Angular 2 and AdminLTE bootstrap theme.\n\n[![MIT license](https://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n[![dependencies up to date](https://david-dm.org/hasanhameed07/angular2-dashboard-starter.svg)](https://david-dm.org/hasanhameed07/angular2-dashboard-starter)\n[![Stack Share](http://img.shields.io/badge/tech-stack-0690fa.svg?style=flat)](http://stackshare.io/hasanhameed07/angular2-dashboard-starter)\n\n##Features\n\n- [Angular 2](https://angular.io/) version 2.0.0-beta.8 using [Typescript](http://www.typescriptlang.org/)\n- Live reload \u0026 compile\n- Login module with input validations (Utilizes src/login.json)\n- Signup module with input validations\n- Auth module to protect dashboard pages\n- Environmental Configuration settings\n- Dashboard Layout as a separate directive\n- Best open source admin dashboard \u0026 control panel bootstrap theme ['AdminLTE 2'](https://almsaeedstudio.com/) by Abdullah Almsaeed.\n\n## Installation\n\n1. Checkout this repo in a folder make sure to give root permissions.\n2. Run `npm install` once to install app dependencies.\n3. Run `npm start` in a separate terminal window to start the server and launch the app.\n\n## Protect Routes\n\n```TypeScript\nimport { ComponentInstruction, CanActivate } from 'angular2/router';\nimport { checkAuth } from '../auth/check_auth';\n\n// just include this code above your component class\n@CanActivate((next: ComponentInstruction, previous: ComponentInstruction) =\u003e {\n  return checkAuth(next, previous);\n})\n```\n\n## Easy to use Dashboard Layout in your templates\n\nUse DashboardLayout directive in your component's template to use dashboard layout. This makes easy to comply views with or without layout like login, signup and error pages etc.\n\n```HTML\n\u003cdashboard-layout pageTitle=\"Home\" pageSubtitle=\"Your personalized dashboard and control panel\"\u003e\n    \u003cdiv class=\"home\"\u003e\n      \u003c!--- Your template code --\u003e\n    \u003c/div\u003e\n\u003c/dashboard-layout\u003e\n```\n\n## Configuration\n\nEnvironmental files are located in `src/app/config/` folder in json format. You can create your own environments and set the one to use in `env.json` file. Config files are loaded after the route hits and before everything is initiated therefore, available throughout in application as a service.\n\n```TypeScript\nimport {Config} from '../../config/config';\n\n@Injectable()\nexport class Foo {\n\n    constructor(private _http: Http, private _config: Config) {\n      var apiUrl = _config.get('apiUrl');   // from development.json\n      var env = _config.getEnv('env');      // from env.json (also holds shared config)\n    }\n}\n```\nConfig class also ships with methods to store and get application wide custom settings.\n\n```TypeScript\nimport {Config} from '../../config/config';\n\n@Injectable()\nexport class Foo {\n\n    constructor(private _http: Http, private _config: Config) {\n      _config.setCustom('isMember', true);\n    }\n}\n\nexport class Bar {\n\n    constructor(private _config: Config) {\n      var isMember = _config.getCustom('isMember');\n    }\n}\n```\n\n## Use jQuery  \n\n jQuery being installed as [typings](https://www.npmjs.com/package/typings) dependency. This mean jQuery will be available as static object in your ts.\n\n```TypeScript\ndeclare var jQuery: JQueryStatic;\n// now use jQuery as you normally use\n```\n\n\n\nHelp me make it better by your [contribution](./CONTRIBUTING.md).\n\n@author Hasan Hameed \u003chasan.hameed07@gmail.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasanhameed07%2Fangular2-dashboard-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasanhameed07%2Fangular2-dashboard-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasanhameed07%2Fangular2-dashboard-starter/lists"}