{"id":22366874,"url":"https://github.com/imransilvake/personal","last_synced_at":"2026-04-10T15:04:10.752Z","repository":{"id":54860971,"uuid":"219135400","full_name":"imransilvake/personal","owner":"imransilvake","description":"My personal website built using @angular to keep track of my projects and to showcase my work to the public.","archived":false,"fork":false,"pushed_at":"2021-01-24T17:36:20.000Z","size":1394,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-26T15:54:25.544Z","etag":null,"topics":["angular","angular-cli","continuous-integration","firebase","font-awesome","hammerjs","moment","netlify-deployment","ngx-translate","rxjs","scss-framework"],"latest_commit_sha":null,"homepage":"https://imransilvake.netlify.app","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/imransilvake.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-02T10:04:44.000Z","updated_at":"2021-01-24T17:13:59.000Z","dependencies_parsed_at":"2022-08-14T05:00:47.330Z","dependency_job_id":null,"html_url":"https://github.com/imransilvake/personal","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/imransilvake/personal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imransilvake%2Fpersonal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imransilvake%2Fpersonal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imransilvake%2Fpersonal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imransilvake%2Fpersonal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imransilvake","download_url":"https://codeload.github.com/imransilvake/personal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imransilvake%2Fpersonal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272466726,"owners_count":24939457,"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-28T02:00:10.768Z","response_time":74,"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","angular-cli","continuous-integration","firebase","font-awesome","hammerjs","moment","netlify-deployment","ngx-translate","rxjs","scss-framework"],"created_at":"2024-12-04T18:15:46.123Z","updated_at":"2025-12-30T21:35:38.531Z","avatar_url":"https://github.com/imransilvake.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iKhan - Personal\nMy personal website built using Angular to keep track of my projects and to showcase my work to the public.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/assets/extra/preview-01.png\" width=\"194\" /\u003e\n  \u003cimg src=\"src/assets/extra/preview-02.png\" width=\"600\" /\u003e \n\u003c/p\u003e\n\n\n## Content\n- [X] Pages\n\t- [X] Homepage\n\t- [X] Profile\n\t- [X] Projects\n\t\t- [X] Language Filters\n\t\t- [X] Projects List\n\t\t- [X] Attach Photo Gallery to all Projects\n\t- [X] Photography\n\t\t- [X] Image Slider\n\t\t- [X] Grid Layout for Images\n\t\t- [X] Fetch Grid Layout Images Data from Firebase Storage API\n\t\t- [X] Attach Photo Gallery to all Images\n- [X] Features\n\t- [X] Light / Dark mode\n\t- [X] Increase / Decrease font-size\n\t- [X] Support Internationalization (i18n)\n\t- [X] Notifications\n\t\t- [X] Welcome Message\n\t\t- [X] Internet Connection Failure\n\t\t- [X] General Error Message\n- [X] SEO\n\t- [X] Change HTML Tags based on language change\n\t\t- [X] Add / Update meta tags \n\t\t\t- keywords\n\t\t\t- author\n\t\t\t- description\n\t\t- [X] Set lang Attribute\n\t\t- [X] Set Page Title\n\t- [X] Add sitemap.xml\n\t- [X] Add robots.txt\n\n\n## Libraries and Frameworks\n\n#### Internal\n- [X] [SCSS Framework](https://github.com/imransilvake/SCSS-Framework)\n\n#### External \n- [X] [Angular CLI](https://cli.angular.io/)\n- [X] [Firebase](https://firebase.google.com/)\n- [X] [i18n - NGX Translate](https://github.com/ngx-translate/core)\n- [X] [RxJs](https://rxjs.dev/)\n- [X] [HammerJS](https://hammerjs.github.io/)\n- [X] [Moment](https://momentjs.com/)\n- [X] [FontAwesome](https://fontawesome.com/)\n\n\n## Environments\n|Serve|Script|Description|\n|---|---|---|\n|Development|`yarn start`|Serve the application @ `localhost:1500`|\n|Next|`yarn serve.app.next`|Serve the application @ `localhost:2000`|\n|Production|`yarn serve.app.prod`|Serve the application @ `localhost:3000`|\n\n|Build|Script|Description|\n|---|---|---|\n|Development|`yarn build`|Build the application to `./dist` directory|\n|Next|`yarn build.app.next`|Build the application to `./dist` directory|\n|Production|`yarn build.app.prod`|Build the application to `./dist` directory|\n\n\n## Prettier \u0026 Linting\n\n#### Prettier\n|Script|Description|\n|---|---|\n|`yarn pretty:check`|Check Typescript and Json|\n|`yarn pretty:apply`|Apply Typescript and Json|\n\n#### Linting\n|Script|Description|\n|---|---|\n|`yarn lint:es`|Lint Typescript and Json|\n|`yarn lint:scss`|Lint SCSS|\n\n\n## SCSS\nInclude the following import in each component to get access to [SCSS helpers and methods](https://github.com/imransilvake/SCSS-Framework/blob/master/documentation/guide.md).\n```\n@import 'scss-methods';\n```\n\n\n## Tools Configuration\n\n#### Prettier \u0026 Linting\nPrettier and Eslint\n\n#### Pre-commit \u0026 Commitlint\n- `pre-commit`: Husky and lint-staged\n- `commit-msg`: commitlint checks if your commit messages meet the conventional commit format.\n\n#### Automate Versioning\ncommitizen and standard-version\n\n#### Continuous integration (CI) \u0026 continuous delivery (CD)\nHusky and lint-staged\n\n\n## Releasing\nA summary of development workflow with standard-version involving multiple git branches.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/assets/extra/development-workflow.png\" width=\"600\" /\u003e\n\u003c/p\u003e\n\n#### 1. **[feature-branch]** Stage modified files using:\n```\ngit add .\n```\n\n#### 2. **[feature-branch]** Commit the files using git-cz package:\n```\nnpm run commit\n```\n\n#### 3. **[feature-branch]** Now that all files have been committed, they are ready to be pushed to the remote:\n```\ngit push origin \u003cfeature-branch\u003e\n```\n\n#### 4. **[Bitbucket]** Create a Pull Request to master branch.\n\n#### 5. **[master]** After it is merged, the following steps are done within the master branch:\n- Run the command npm run release (which will bump versions based on commit types, add commit descriptions to CHANGELOG.md, and create git tags according to the current version).\n- Push changes and git tags to master branch using:\n```\ngit push --follow-tags origin master\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimransilvake%2Fpersonal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimransilvake%2Fpersonal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimransilvake%2Fpersonal/lists"}