{"id":15691635,"url":"https://github.com/ThaddeusJiang/nextjs-12-starter","last_synced_at":"2025-03-11T15:32:59.223Z","repository":{"id":103592663,"uuid":"482151131","full_name":"ThaddeusJiang/nextjs-12-starter","owner":"ThaddeusJiang","description":"You shouldn't start a wonderful app from scratch every time.","archived":false,"fork":false,"pushed_at":"2022-04-19T09:11:11.000Z","size":1431,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"dev","last_synced_at":"2025-03-06T03:35:14.806Z","etag":null,"topics":["admin-system","batch-processing","e2e-testing","job-scheduler","nextjs","storybook","terraform"],"latest_commit_sha":null,"homepage":"https://react-app-starter-tj.vercel.app","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/ThaddeusJiang.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-16T04:05:17.000Z","updated_at":"2025-01-21T03:55:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"84a75f4c-37d7-4499-89c2-7575c0dd3a95","html_url":"https://github.com/ThaddeusJiang/nextjs-12-starter","commit_stats":null,"previous_names":["thaddeusjiang/nextjs-starter","thaddeusjiang/nextjs-12-starter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fnextjs-12-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fnextjs-12-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fnextjs-12-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThaddeusJiang%2Fnextjs-12-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThaddeusJiang","download_url":"https://codeload.github.com/ThaddeusJiang/nextjs-12-starter/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243059873,"owners_count":20229663,"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":["admin-system","batch-processing","e2e-testing","job-scheduler","nextjs","storybook","terraform"],"created_at":"2024-10-03T18:22:36.019Z","updated_at":"2025-03-11T15:32:58.709Z","avatar_url":"https://github.com/ThaddeusJiang.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# React App Starter\n\n\u003e You shouldn't start a wonderful app from scratch every time.\n\u003e\n\u003e  ~ TJ\n\n[![Detect Secrets](https://github.com/ThaddeusJiang/react-app-starter/actions/workflows/detect-secrets.yml/badge.svg)](https://github.com/ThaddeusJiang/react-app-starter/actions/workflows/detect-secrets.yml)\n[![Test](https://github.com/ThaddeusJiang/react-app-starter/actions/workflows/test.yml/badge.svg)](https://github.com/ThaddeusJiang/react-app-starter/actions/workflows/test.yml)\n[![Deployment](https://vercelbadge.vercel.app/api/ThaddeusJiang/react-app-starter)](https://react-app-starter-tj.vercel.app/)\n[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)\n[![Twitter: ThaddeusJiang](https://img.shields.io/twitter/follow/ThaddeusJiang.svg?style=social)](https://twitter.com/ThaddeusJiang)\n\n\n## Features:\n\n- [x] Out of box API mocking.\n- [x] Out of box Authentication.\n- [x] Beautiful Data fetching.\n- [x] Easy Form validation.\n- [x] Out of box Utility-First CSS.\n- [x] Out of box CI/CD.\n- [x] Out of box lint and code format.\n- [x] Out of box Infrastructure as Code.\n- [x] A little of Components.\n- [x] ... and more\n\n## Built with\n\n- [NextJS: the React Framework for Production](https://nextjs.org/docs)\n- [Tailwindcss: rapidly build modern websites without ever leaving your HTML](https://tailwindcss.com/)\n  - [daisyUI: Tailwind Components](https://github.com/saadeghi/daisyui/)\n- [React-hook-form: performance, flexible and extensible forms with easy-to-use validation](https://www.react-hook-form.com/)\n- [React-query: performant and powerful data synchronization for React](https://react-query.tanstack.com/)\n- [React-table: Lightweight and extensible data tables for React](https://react-table.tanstack.com/)\n- [Storybook: build bulletproof UI components faster](https://storybook.js.org)\n  - [Chromatic: visual testing](https://www.chromatic.com/features/test)\n- [react-testing: simple and complete testing utilities that encourage good testing practices](https://testing-library.com/)\n- [Mock Service Worker: API mocking of the next generation](https://github.com/mswjs/msw)\n- And other standard tools as [Eslint](https://eslint.org/), [Prettier](https://prettier.io/), [Lint-staged](https://github.com/okonet/lint-staged)\n\n## Install\n\n```sh\nyarn install\n```\n\n## Usage\n\nCreate .env file base on sample.env then run below command\n\n```\ncp sample.env .env\n```\n\n\u003e About the secret token, ask @ThaddeusJiang\n\n```sh\nyarn dev\n```\n\n## Run tests\n\n```sh\nyarn test\n```\n\n## Run storybook\n\n```sh\nyarn storybook\n```\n\n## Deploy to Vercel\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fnext.js%2Ftree%2Fcanary%2Fexamples%2Fhello-world)\n\n## Author\n\n- Website: https://ThaddeusJiang.com/\n- Twitter: [@ThaddeusJiang](https://twitter.com/ThaddeusJiang)\n- Github: [@ThaddeusJiang](https://github.com/ThaddeusJiang)\n\n# Auth Providers\n\n## github\n- Callback URL: `\u003cdomain\u003e/api/auth/callback/github`\n- https://next-auth.js.org/providers/\n\n# Memo\n\n其实我想用 [Ramdajs](https://ramdajs.com/) ，但是我也不是特别熟。\n暂时先继续使用 lodash/fp 吧。\n\n关于报表可视化，需要评估 [d3js](https://d3js.org/) ，\n目前使用 react-charts 。\n\n# folder structure\n\n```\n.\n├── client // UI clients\n│   └── apis\n├── components // UI Components\n├── data\n│   ├── reals\n│   └── mocks // mock data\n├── mocks // Mock Service Worker handlers\n├── modules\n│   ├── customer\n│   │   └── apis\n│   │   └── components\n│   └── task\n│   │   └── apis\n│       └── components\n├── pages\n│   ├── api // Auth API\n│   │   └── auth\n│   ├── customers // UI Pages\n│   ├── ...\n│   ├── ...\n├── public\n├── styles\n├── types\n└── utils\n└── tailwind.config.js\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThaddeusJiang%2Fnextjs-12-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FThaddeusJiang%2Fnextjs-12-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThaddeusJiang%2Fnextjs-12-starter/lists"}