{"id":20763311,"url":"https://github.com/tinspham209/github-jobs","last_synced_at":"2026-04-12T19:50:18.314Z","repository":{"id":42662018,"uuid":"291287534","full_name":"tinspham209/github-jobs","owner":"tinspham209","description":"Show available Jobs from Github Jobs","archived":false,"fork":false,"pushed_at":"2023-12-15T05:31:51.000Z","size":380,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-18T05:44:07.910Z","etag":null,"topics":["axios","bootstrap","react","react-bootstrap","react-markdown","usereducer-hooks"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/tinspham209.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":"2020-08-29T14:31:56.000Z","updated_at":"2020-10-13T15:21:25.000Z","dependencies_parsed_at":"2024-11-17T10:43:49.654Z","dependency_job_id":"543895fa-cc8d-4a97-8edb-33edbe7ed39d","html_url":"https://github.com/tinspham209/github-jobs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinspham209%2Fgithub-jobs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinspham209%2Fgithub-jobs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinspham209%2Fgithub-jobs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tinspham209%2Fgithub-jobs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tinspham209","download_url":"https://codeload.github.com/tinspham209/github-jobs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243086242,"owners_count":20234002,"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":["axios","bootstrap","react","react-bootstrap","react-markdown","usereducer-hooks"],"created_at":"2024-11-17T10:43:44.973Z","updated_at":"2025-12-31T00:52:52.122Z","avatar_url":"https://github.com/tinspham209.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mini Project: GitHub Jobs Application\n\n## Date: 29 - Aug - 2020\n\n### Functions\n\n- Display available Jobs from Github Jobs\n\n### Screenshot\n\n\u003cimg src=\"https://i.imgur.com/nQimGlr.png\"/\u003e\n\n### Tech-Stack\n\n- React\n- react-bootstrap: UI\n- axios: fetch API\n- useReducer : store state\n- react-markdown : converting markdown on URL to string\n\n### API Used\n\nhttps://jobs.github.com/api\n\n### Plan Of Action\n\n- Initial Project\n- Setup react, axios, react-bootstrap\n- create useFetchJob function to Fetch API\n- create Job component\n- create Pagination\n- create Search\n- Filter Job with full-time\n\n### After this project\n\nI have improve my knowledge about\n\nI have understand about\n\n- use `useReducer` hooks to store state\n- how to fix CORS error with `https://cors-anywhere.herokuapp.com/[your_url]`\n- use `cancelToken` of axios to cancel get request when you typing every character.\n- use react-bootstrap for style component without css file\n- how to create pagination with react-bootstrap\n- handle variable `hasNextPage` when fetchData to add Pagination nextPage\n- create search form with bootstrap\n- handle Params Change\n\nNext Steps:\n\n### Directory Structure\n\n```\n.\n├── .gitignore\n├── package.json\n├── README.md\n├── public\n└── src\n    ├── components\n        ├── Job\n        ├── Pagination\n        ├── SearchForm\n        └── UI\n            └── Spinner\n    ├── hooks\n        └── useFetchJob.js\n    ├── App.js\n    ├── App.css\n    ├── index.css\n    └── index.js\n```\n\n### Set up\n\nUse the cmd line to clone repo to your computer\n\n```\ngit clone [github_repo_url]\n```\n\nUse the cmd line to install dependencies.\n\n```\nnpm install\n```\n\nRun in cmd for start the dependencies server\n\n```\nnpm start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinspham209%2Fgithub-jobs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinspham209%2Fgithub-jobs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinspham209%2Fgithub-jobs/lists"}