{"id":16417084,"url":"https://github.com/tkrotoff/marvelheroes","last_synced_at":"2025-03-21T03:32:22.551Z","repository":{"id":41825467,"uuid":"135325288","full_name":"tkrotoff/MarvelHeroes","owner":"tkrotoff","description":"Web app that displays characters from Marvel comics","archived":false,"fork":false,"pushed_at":"2023-06-03T00:35:44.000Z","size":3598,"stargazers_count":53,"open_issues_count":1,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-12T07:10:55.500Z","etag":null,"topics":["babel","bootstrap","jest","playwright","react","react-testing-library","typescript"],"latest_commit_sha":null,"homepage":"","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/tkrotoff.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":"2018-05-29T16:39:34.000Z","updated_at":"2023-03-18T10:35:30.000Z","dependencies_parsed_at":"2023-02-14T00:00:48.266Z","dependency_job_id":null,"html_url":"https://github.com/tkrotoff/MarvelHeroes","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/tkrotoff%2FMarvelHeroes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkrotoff%2FMarvelHeroes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkrotoff%2FMarvelHeroes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tkrotoff%2FMarvelHeroes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tkrotoff","download_url":"https://codeload.github.com/tkrotoff/MarvelHeroes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221811374,"owners_count":16884305,"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":["babel","bootstrap","jest","playwright","react","react-testing-library","typescript"],"created_at":"2024-10-11T07:10:58.564Z","updated_at":"2024-10-28T09:16:08.036Z","avatar_url":"https://github.com/tkrotoff.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Marvel Heroes\n\n[![Node.js CI](https://github.com/tkrotoff/MarvelHeroes/workflows/Node.js%20CI/badge.svg?branch=master)](https://github.com/tkrotoff/MarvelHeroes/actions)\n[![Codecov](https://codecov.io/gh/tkrotoff/MarvelHeroes/branch/master/graph/badge.svg)](https://codecov.io/gh/tkrotoff/MarvelHeroes)\n[![Code Climate Maintainability](https://api.codeclimate.com/v1/badges/6440dc7f156cc4726c69/maintainability)](https://codeclimate.com/github/tkrotoff/MarvelHeroes/maintainability)\n[![Code Climate Test Coverage](https://api.codeclimate.com/v1/badges/6440dc7f156cc4726c69/test_coverage)](https://codeclimate.com/github/tkrotoff/MarvelHeroes/test_coverage)\n[![Prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier)\n[![Airbnb Code Style](https://badgen.net/badge/code%20style/airbnb/ff5a5f?icon=airbnb)](https://github.com/airbnb/javascript)\n\nhttp://marvelheroes.s3-website.eu-west-3.amazonaws.com/ \u003csup\u003e[1]\u003c/sup\u003e\n\nVery simple React app that displays the Marvel characters thanks to https://developer.marvel.com/\n\n- 2 pages: list of heroes + details of a hero\n- Implementation is 400 LOC (+ 700 LOC of tests)\n- Unit/integration tests written in react-testing-library \u0026 Jest\n- E2E tests written in Playwright\n- [W3C validator](https://validator.w3.org/) completed\n\nI use this app as a boilerplate and to demo some JS web app best practices.\n\n\u003csmall\u003e1. No HTTPS, no gzip, no cache...\u003c/small\u003e\n\n### List of heroes: HeroesPagination/Heroes component screenshot\n\n![HeroesPagination/Heroes component screenshot](doc/HeroesPagination.png)\n\n### Details of a hero: Hero component screenshot\n\n![Hero component screenshot](doc/Hero.png)\n\n## How to run\n\n```\nnpm run start:stubs\nopen http://localhost:8080\n```\n\n```\nnpm run start:marvel.com\nopen http://localhost:8080\n```\n\n## Libraries used\n\n- React with hooks\n- No Redux, just `useState()`\n- TypeScript with `strict: true`\n- Babel with `@babel/preset-typescript`\n- Jest + react-testing-library + Playwright =\u003e 100% code coverage\n- Fetch API\n- React Router\n- Prettier + ESLint + stylelint\n- Bootstrap 5 + Purgecss\n- Google Lighthouse\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkrotoff%2Fmarvelheroes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftkrotoff%2Fmarvelheroes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftkrotoff%2Fmarvelheroes/lists"}