{"id":22912635,"url":"https://github.com/wzalazar/reddit","last_synced_at":"2025-06-30T20:38:57.391Z","repository":{"id":38150870,"uuid":"275404564","full_name":"wzalazar/reddit","owner":"wzalazar","description":"Demo Reddit","archived":false,"fork":false,"pushed_at":"2024-12-08T21:43:11.000Z","size":1529,"stargazers_count":0,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-26T19:50:29.966Z","etag":null,"topics":["reddit","reddit-client"],"latest_commit_sha":null,"homepage":"https://demo-reddit.netlify.app","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/wzalazar.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-06-27T15:53:07.000Z","updated_at":"2023-08-30T13:54:08.000Z","dependencies_parsed_at":"2024-12-08T22:24:41.113Z","dependency_job_id":"51e5b2e9-49c7-4f51-8d72-6b35d0353198","html_url":"https://github.com/wzalazar/reddit","commit_stats":null,"previous_names":["w4llydev/reddit","wzalazar/reddit"],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/wzalazar/reddit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzalazar%2Freddit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzalazar%2Freddit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzalazar%2Freddit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzalazar%2Freddit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wzalazar","download_url":"https://codeload.github.com/wzalazar/reddit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzalazar%2Freddit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262847346,"owners_count":23373982,"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":["reddit","reddit-client"],"created_at":"2024-12-14T04:29:27.063Z","updated_at":"2025-06-30T20:38:57.229Z","avatar_url":"https://github.com/wzalazar.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/wzalazar/demo-reddit/HEAD/src/Components/Logo/logo.svg\" height=\"35\"/\u003e\n   \u003ca href=\"https://demo-reddit.netlify.app/\"\u003eReddit Demo\u003c/a\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/wzalazar/demo-reddit/actions\"\u003e\u003cimg alt=\"Github Actions CI\" src=\"https://github.com/wzalazar/demo-reddit/workflows/Test/badge.svg\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://codecov.io/gh/wzalazar/demo-reddit\"\u003e\u003cimg alt=\"Codecov Status\" src=\"https://codecov.io/gh/wzalazar/demo-reddit/branch/master/graph/badge.svg\"\u003e\u003c/a\u003e\n    \u003ca href=\"#badge\"\u003e\n      \u003cimg alt=\"semantic-release\" src=\"https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\n## Guide\n\n- [Bootstrapping](#bootstrapping)\n- [Requirements](#requirements)\n- [How to Run](#how-to-run)\n- [Scripts](#scripts)\n- [Tacking Tasks](#tracking-tasks)\n- [Decision Making](#decision-making)\n- [Demo](https://demo-reddit.netlify.app/)\n\n#### Bootstrapping\n\nThis project was bootstrapped with [Create React App, Custom Template](https://github.com/wzalazar/cra-template-super-redux-typescript), using the [Redux](https://redux.js.org/) and [Redux Toolkit](https://redux-toolkit.js.org/) template.\n\n\n#### Requirements\n\nThis project is using [nvm](https://github.com/nvm-sh/nvm). If you use nvm just to execute `nvm use` for installing the rights NodeJS and NPM version.\nIf you are not a user of nvm, you will be able to check the file [.nvmrc](https://github.com/wzalazar/demo-reddit/blob/master/.nvmrc)\n\n#### How to run\n\n```bash\n  $ git clone git@github.com:wzalazar/demo-reddit.git\n  $ cd ./demo-reddit\n  $ yarn\n  $ yarn start\n```\n\n### Scripts\n\n| script            |  description                                            | \n|-------------------|---------------------------------------------------------|\n|  start            | Runs the app in the development mode.                   | \n|  build            | Builds the app for production.                          |  \n|  test             | Launches the test runner in the interactive watch mode. |  \n|  lint             | Lint the project.                                       |  \n|  semantic-release | Generate semantic release, only for CI                  |  \n|  codecov          | Push de coverage to codecov, only for CI                |  \n\n\n### Tracking Tasks\n\nI created a Project board for tracking my tasks. \n\nhttps://github.com/wzalazar/demo-reddit/projects/1\n\n\n## Decision Making\n\n- **Typescript:**\nI choose typescript due that is a better way to create javascript applications. Is javascript with steroids.\n\n- **Redux:**\nI choose redux due to is the \"king\" of the state management. Single path of truth.\n\n- **Styled Components:**\nI choose styles-components because I think is the better way for creating isolated components.\n\n- **React Testing Library:**\nI choose testing-library because this brings an effective way of creating an integration test, and resilient tests.\n\n- **Semantic Release:**\nI choose semantic-release for adding versioning in the project.\n\n- **Github actions:**\nI choose Github Actions for adding Quality assurance in the project.\n\n- **Github Project board:**\nI choose the Github Project board due is a great tool for tracking the tasks and have historical progress.\n\n- **Renovate:**\nI choose to use the tool renovate for updating my dependencies, this update will have to pass all tests before the merge.\n\n- **Testing:**\nI choose to create more integration tests over unit tests for covering my project. With the integration test, I'm ensuring the scenarios are working fine with all components.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzalazar%2Freddit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwzalazar%2Freddit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzalazar%2Freddit/lists"}