{"id":22552833,"url":"https://github.com/rosesonfire/understand-quran","last_synced_at":"2025-07-07T04:08:01.592Z","repository":{"id":55441049,"uuid":"312808949","full_name":"rosesonfire/understand-quran","owner":"rosesonfire","description":"Helps understanding the Holy Qur'an","archived":false,"fork":false,"pushed_at":"2020-12-30T19:42:48.000Z","size":2887,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T00:28:04.055Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rosesonfire.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}},"created_at":"2020-11-14T12:05:20.000Z","updated_at":"2020-12-30T19:42:48.000Z","dependencies_parsed_at":"2022-08-15T00:20:45.155Z","dependency_job_id":null,"html_url":"https://github.com/rosesonfire/understand-quran","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rosesonfire/understand-quran","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosesonfire%2Funderstand-quran","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosesonfire%2Funderstand-quran/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosesonfire%2Funderstand-quran/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosesonfire%2Funderstand-quran/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rosesonfire","download_url":"https://codeload.github.com/rosesonfire/understand-quran/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosesonfire%2Funderstand-quran/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264010949,"owners_count":23543716,"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-12-07T18:07:41.713Z","updated_at":"2025-07-07T04:08:01.557Z","avatar_url":"https://github.com/rosesonfire.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Understand Qur'an\nHelps understanding the Holy Qur'an\n\n# Tech used\n\n## Languages\n1. \u003cimg src=\"icons/javascript.svg\" height=\"16\"/\u003e Javascript\n1. \u003cimg src=\"icons/typescript.svg\" height=\"16\"/\u003e Typescript\n1. \u003cimg src=\"icons/shellscript.png\" height=\"16\"/\u003e Shell script\n1. \u003cimg src=\"icons/css.png\" height=\"16\"/\u003e CSS\n1. \u003cimg src=\"icons/sass.png\" height=\"16\"/\u003e SCSS\n1. \u003cimg src=\"icons/yml.png\" height=\"16\"/\u003e YAML\n1. \u003cimg src=\"icons/graph_ql.png\" height=\"16\"/\u003e GraphQL\n\n## Frameworks and libraries\n1. \u003cimg src=\"icons/react.png\" height=\"16\"/\u003e ReactJS\n1. \u003cimg src=\"icons/nextjs.jpeg\" height=\"16\"/\u003e NextJS\n    - Code splitting\n    - Prefetching\n    - Server-side rendering at runtime\n    - Automatically rendered as static HTML\n    - Automatically generated as static HTML + JSON\n    - Incremental static regeneration\n    - Client side rendering\n1. \u003cimg src=\"icons/redux.svg\" height=\"16\"/\u003e Redux\n    - Thunk\n    - Reselect\n    - Re-reselect\n    - React Redux\n    - Redux Toolkit\n    - Next Redux Wrapper\n1. \u003cimg src=\"icons/rxjs.png\" height=\"16\"/\u003e RxJS\n1. \u003cimg src=\"icons/redux_observable.gif\" height=\"16\"/\u003e Redux Observable\n1. \u003cimg src=\"icons/docker.jpeg\" height=\"16\"/\u003e Docker\n1. \u003cimg src=\"icons/docker_compose.png\" height=\"16\"/\u003e Docker Compose\n1. \u003cimg src=\"icons/stylelint.png\" height=\"16\"/\u003e Stylelint\n1. \u003cimg src=\"icons/eslint.png\" height=\"16\"/\u003e Eslint\n1. \u003cimg src=\"icons/storybook.png\" height=\"16\"/\u003e Storybook\n1. \u003cimg src=\"icons/material_ui.svg\" height=\"16\"/\u003e Material UI\n1. \u003cimg src=\"icons/webpack.png\" height=\"16\"/\u003e Webpack\n1. \u003cimg src=\"icons/verdaccio.png\" height=\"16\"/\u003e Verdaccio (private npm registry)\n1. \u003cimg src=\"icons/npm.png\" height=\"16\"/\u003e NPM (for creating, publishing and reusing private packages)\n1. \u003cimg src=\"icons/swr.png\" height=\"16\"/\u003e SWR (React Hooks library for data fetching)\n1. \u003cimg src=\"icons/graph_ql.png\" height=\"16\"/\u003e GraphQL\n1. \u003cimg src=\"icons/apollo_server.svg\" height=\"16\"/\u003e Apollo server express\n1. \u003cimg src=\"icons/apollo_client.jpg\" height=\"16\"/\u003e Apollo client\n\n## Conventions\n1. SuiteCSS\n\n## Follow this development on YouTube\nPlaylist: https://www.youtube.com/playlist?list=PLLGMgjCzF9LYuY0tqOUeSONWamN5jkrwo\n\n\n# Requirements\n1. Docker\n1. Docker Compose\n\n# Services\n- understand-quran: front end\n- design-library: a design library for the front end\n- npm-registry: private npm registry\n\n## Run services\n```bash\n./start [\u003cservice name\u003e]\n```\n\n## Restart services\n```bash\n./restart \u003cservice name\u003e\n```\n\n## Stop a service\n```bash\n./stop $1\n```\n\n## Stop all services and remove containers\n```bash\n./killall\n```\n\n## URLs\n\n- understand-quran: http://localhost:3000\n- design-library: http://localhost:6006\n- npm-registry: http://localhost:4873\n\n## View logs\n```bash\n./logs \u003cservice name\u003e\n```\n\n## Shell into services\n### npm-registry\n```bash\n./shell-npm-registry\n```\n### other services\n```bash\n./shell \u003cservice name\u003e\n```\n\n## Debug\n### understand-quran\n- Client side code: Use `debugger`\n- Server side code: Add `debugger` to server side code. \n  - Chrome: Go to `chrome://inspect/ -\u003e Under \"Remote Targets\" click on \"inspect\"`\n  - VSCode:\n    1. Add this task in `.vscode/tasks.json`:\n        ```json\n        {\n          \"version\": \"2.0.0\",\n          \"tasks\": [\n            {\n              \"label\": \"clear-editor-history\",\n              \"command\": \"${command:workbench.action.clearEditorHistory}\"\n            }\n          ]\n        }\n        ```\n    1. Add this debugger configuration in `.vscode/launch.json` and lauch after starting server:\n        ```json\n        {\n          \"version\": \"0.2.0\",\n          \"configurations\": [\n            {\n              \"type\": \"node\",\n              \"request\": \"attach\",\n              \"name\": \"Launch Program\",\n              \"skipFiles\": [\"\u003cnode_internals\u003e/**\"],\n              \"port\": 9229,\n              \"preLaunchTask\": \"clear-editor-history\"\n            }\n          ]\n        }\n        ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosesonfire%2Funderstand-quran","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frosesonfire%2Funderstand-quran","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosesonfire%2Funderstand-quran/lists"}