{"id":13760619,"url":"https://github.com/KASTINpl/react-next-starter","last_synced_at":"2025-05-10T11:30:25.756Z","repository":{"id":36964775,"uuid":"324199489","full_name":"KASTINpl/react-next-starter","owner":"KASTINpl","description":"ReactJS + Next.js + TypeScript + Redux +  MaterialUI + ESLint, Prettier + Cypress + Jest + Storybook","archived":false,"fork":false,"pushed_at":"2025-05-06T11:09:14.000Z","size":7152,"stargazers_count":8,"open_issues_count":11,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-06T12:30:28.008Z","etag":null,"topics":["airbnb","cypress","eslint","husky","jest","materialui","nextjs","plop","prettier","react","redux","starter-kit","storybook","typescript"],"latest_commit_sha":null,"homepage":"https://react-next-starter.vercel.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/KASTINpl.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,"zenodo":null}},"created_at":"2020-12-24T16:48:53.000Z","updated_at":"2025-04-05T14:21:04.000Z","dependencies_parsed_at":"2023-09-27T17:59:11.263Z","dependency_job_id":"3c6db226-b069-4cf7-85e6-a840231d0ed6","html_url":"https://github.com/KASTINpl/react-next-starter","commit_stats":null,"previous_names":[],"tags_count":8,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KASTINpl%2Freact-next-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KASTINpl%2Freact-next-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KASTINpl%2Freact-next-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KASTINpl%2Freact-next-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KASTINpl","download_url":"https://codeload.github.com/KASTINpl/react-next-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253409910,"owners_count":21903987,"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":["airbnb","cypress","eslint","husky","jest","materialui","nextjs","plop","prettier","react","redux","starter-kit","storybook","typescript"],"created_at":"2024-08-03T13:01:14.275Z","updated_at":"2025-05-10T11:30:25.327Z","avatar_url":"https://github.com/KASTINpl.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","Nextjs Starter"],"sub_categories":[],"readme":"# react-next-starter\n\n![Github Workflow](https://github.com/KASTINpl/react-next-starter/workflows/Github%20Workflow/badge.svg)\n[![Renovate](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com)\n\nNext.js starter with TS, MaterialUI, Redux, Storybook, Cypress and many more usable developer tools included\n\n## Features\n\n- [React](https://github.com/facebook/react/) ^18 + [Next.js](https://nextjs.org) ^13 + [TypeScript](https://github.com/Microsoft/TypeScript) ^5\n- [MUI](https://mui.com/) - Material UI ^5 with [SSR support](https://github.com/mui-org/material-ui/tree/master/examples/nextjs)\n- [Prettier](https://github.com/prettier/prettier) + [ESLint](https://github.com/eslint/eslint) + [AirBnb](https://github.com/airbnb/javascript/tree/master/packages/eslint-config-airbnb) + [Husky](https://github.com/typicode/husky)\n- [Redux](https://redux.js.org) + [Redux toolkit](https://redux-toolkit.js.org)\n- [Cypress](https://github.com/cypress-io/cypress) for `test:e2e`\n- [Jest](https://github.com/facebook/jest) + [Testing library](https://testing-library.com) for `test:unit`\n- [Storybook](https://github.com/storybooks/storybook) ^7\n- Github workflow for `lint` and `test`\n- [PlopJS](https://plopjs.com) scripts\n- bonus: `WindowProgressBar` component (loading page indicator)\n- bonus2: `WhiteSource` [Renovate](https://renovatebot.com) integration setup\n\n## Getting started\n\n```bash\nyarn create next-app -e https://github.com/KASTINpl/react-next-starter APP_NAME\ncd APP_NAME\nyarn dev\n```\n\n## All commands\n\n### `yarn dev`\n\nRuns development server on [localhost:3000](http://localhost:3000).\n\n### `yarn build`\n\nBuild application for production use.\n\n### `yarn start`\n\nStart built application. You need to run `build` first.\n\n### `yarn test`\n\nRun all tests.\n\n### `yarn test:unit`\n\nRun all unit tests with jest.\n\n### `yarn test:unit:coverage`\n\nRun all unit tests with jest and generate coverage reports. This will fail if constraints `coverageThreshold` in `jest.config.js` are violated.\n\n### `yarn test:unit:update`\n\nRun all unit tests with jest and update all outdated snapshots.\n\n### `yarn test:unit:watch`\n\nRun all unit tests with jest using developer mode - watching all the changes.\n\n### `yarn test:e2e`\n\nRun all integration tests with headless cypress.\n\n### `yarn test:e2e:ui`\n\nRun all integration tests with cypress UI.\n\n### `yarn test`\n\nRun `test:unit` and `test:e2e` in parallel\n\n### `yarn lint:types`\n\nRun ESlint check\n\n### `yarn lint:format`\n\nRun Prettier check\n\n### `yarn lint`\n\nRun `lint:types` and `lint:format` in parallel\n\n### `yarn storybook`\n\nRun Storybook server.\n\n### `yarn build-storybook`\n\nBuild Storybook documentation for production use.\n\n### `yarn plop component NewComponent`\n\nCreate a new component\nsee `./plop-templates/component`\n\n## Useful links, articles and manuals\n\n- [How to Test React Components in TypeScript](https://www.pluralsight.com/guides/how-to-test-react-components-in-typescript)\n- [Setup Next.js with Typescript, Jest and React Testing Library](https://dev.to/maciekgrzybek/setup-next-js-with-typescript-jest-and-react-testing-library-28g5)\n- [How to Start Testing Your React Apps Using the React Testing Library and Jest](https://www.freecodecamp.org/news/8-simple-steps-to-start-testing-react-apps-using-react-testing-library-and-jest/#5-testing-react-redux)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKASTINpl%2Freact-next-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKASTINpl%2Freact-next-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKASTINpl%2Freact-next-starter/lists"}