{"id":21291897,"url":"https://github.com/idea2app/idea2app.github.io","last_synced_at":"2026-03-11T00:32:56.343Z","repository":{"id":44608909,"uuid":"339172272","full_name":"idea2app/idea2app.github.io","owner":"idea2app","description":"idea2app 团队官方网站","archived":false,"fork":false,"pushed_at":"2025-09-10T17:10:21.000Z","size":17440,"stargazers_count":4,"open_issues_count":9,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-11T05:32:06.117Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://idea2.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/idea2app.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-15T18:38:39.000Z","updated_at":"2025-09-10T17:10:24.000Z","dependencies_parsed_at":"2024-06-06T23:22:10.554Z","dependency_job_id":"fc21384b-54b5-4764-9db4-d93226290c74","html_url":"https://github.com/idea2app/idea2app.github.io","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":"EasyWebApp/WebCell-scaffold","purl":"pkg:github/idea2app/idea2app.github.io","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idea2app%2Fidea2app.github.io","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idea2app%2Fidea2app.github.io/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idea2app%2Fidea2app.github.io/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idea2app%2Fidea2app.github.io/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/idea2app","download_url":"https://codeload.github.com/idea2app/idea2app.github.io/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/idea2app%2Fidea2app.github.io/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006320,"owners_count":26084085,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-21T13:46:39.829Z","updated_at":"2026-03-11T00:32:56.335Z","avatar_url":"https://github.com/idea2app.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# idea2app OWS\n\n[React][1] project scaffold based on [TypeScript][2], [Next.js][3], [Bootstrap][4] \u0026 [Workbox][5]. And this project bootstrapped with [`create-next-app`][6].\n\n[![CI \u0026 CD](https://github.com/idea2app/idea2app.github.io/actions/workflows/main.yml/badge.svg)][7]\n\n[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)][8]\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)][9]\n\n## Technology stack\n\n- Language: [TypeScript v5][2] + [MDX v3][10]\n- Component engine: [Next.js v16][3]\n- Component suite: [Bootstrap v5][4]\n- PWA framework: [Workbox v6][5]\n- State management: [MobX v6][11]\n- CI / CD: GitHub [Actions][12] + [Vercel][13]\n- Monitor service: [Sentry][14]\n\n## Best practice\n\n1.  Install GitHub apps in your organization or account:\n    1.  [Probot settings][15]: set up Issue labels \u0026 Pull Request rules\n    2.  [PR badge][16]: set up Online [VS Code][17] editor entries in Pull Request description\n\n2.  Click the **[\u003ckbd\u003eUse this template\u003c/kbd\u003e][18] button** on the top of this GitHub repository's home page, then create your own repository in the app-installed namespace above\n\n3.  Click the **[\u003ckbd\u003eOpen in GitHub codespaces\u003c/kbd\u003e][8] button** on the top of ReadMe file, then an **online VS Code development environment** will be started immediately\n\n4.  Set [Vercel variables][19] as [Repository secrets][20], then every commit will get an independent **Preview URL**\n\n5.  Recommend to add a [Notification step in GitHub actions][21] for your Team IM app\n\n6.  Remind the PMs \u0026 users of your product to submit **Feature/Enhancement** requests or **Bug** reports with [Issue forms][22] instead of IM messages or Mobile Phone calls\n\n7.  Collect all these issues into [Project kanbans][23], then create **Pull requests** \u0026 add `closes #issue_number` into its description for automation\n\n## Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm i pnpm -g\npnpm dev\n```\n\nOpen http://localhost:3000 with your browser to see the result.\n\nYou can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.\n\n[API routes][24] can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in `pages/api/hello.ts`.\n\nThe `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as API routes instead of React pages.\n\n## Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation][25] - learn about Next.js features and API.\n- [Learn Next.js][26] - an interactive Next.js tutorial.\n\nYou can check out [the Next.js GitHub repository][27] - your feedback and contributions are welcome!\n\n## Deployment\n\n### Environment variables\n\n|           name           |     file     |       description       |\n| :----------------------: | :----------: | :---------------------: |\n|       `JWT_SECRET`       | `.env.local` | [API authorization][28] |\n|   `SENTRY_AUTH_TOKEN`    | `.env.local` | [Official document][29] |\n|       `SENTRY_ORG`       |    `.env`    | [Official document][30] |\n|     `SENTRY_PROJECT`     |    `.env`    | [Official document][30] |\n| `NEXT_PUBLIC_SENTRY_DSN` |    `.env`    | [Official document][31] |\n|      `GITHUB_TOKEN`      | `.env.local` | [Official document][32] |\n|      `LARK_APP_ID`       | `.env.local` | [Official document][33] |\n|    `LARK_APP_SECRET`     | `.env.local` | [Official document][33] |\n\n### Vercel\n\nThe easiest way to deploy your Next.js app is to use the [Vercel Platform][13] from the creators of Next.js.\n\nCheck out our [Next.js deployment documentation][34] for more details.\n\n### Docker\n\n```shell\npnpm pack-image\npnpm container\n```\n\n[1]: https://react.dev/\n[2]: https://www.typescriptlang.org/\n[3]: https://nextjs.org/\n[4]: https://getbootstrap.com/\n[5]: https://developers.google.com/web/tools/workbox\n[6]: https://github.com/vercel/next.js/tree/canary/packages/create-next-app\n[7]: https://github.com/idea2app/idea2app.github.io/actions/workflows/main.yml\n[8]: https://codespaces.new/idea2app/idea2app.github.io\n[9]: https://gitpod.io/?autostart=true#https://github.com/idea2app/idea2app.github.io\n[10]: https://mdxjs.com/\n[11]: https://mobx.js.org/\n[12]: https://github.com/features/actions\n[13]: https://vercel.com/new?utm_medium=default-template\u0026filter=next.js\u0026utm_source=create-next-app\u0026utm_campaign=create-next-app-readme\n[14]: https://sentry.io/\n[15]: https://github.com/apps/settings\n[16]: https://pullrequestbadge.com/\n[17]: https://code.visualstudio.com/\n[18]: https://github.com/new?template_name=idea2app.github.io\u0026template_owner=idea2app\n[19]: https://github.com/idea2app/idea2app.github.io/blob/34a68d5c3a21665c5971edff5aa7c208647d1566/.github/workflows/main.yml#L9-L11\n[20]: https://github.com/idea2app/idea2app.github.io/settings/secrets/actions\n[21]: https://github.com/idea2app/Lark-Next-Bootstrap-ts/blob/363e023e5dd472c8ea53ec96eac25ec5122e667b/.github/workflows/Lark-notification.yml#L39\n[22]: https://github.com/idea2app/idea2app.github.io/issues/new/choose\n[23]: https://github.com/idea2app/idea2app.github.io/projects\n[24]: https://nextjs.org/docs/api-routes/introduction\n[25]: https://nextjs.org/docs\n[26]: https://nextjs.org/learn\n[27]: https://github.com/vercel/next.js/\n[28]: https://github.com/auth0/node-jsonwebtoken?tab=readme-ov-file#jwtsignpayload-secretorprivatekey-options-callback\n[29]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#use-configuration-files-for-source-map-upload\n[30]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#use-environment-variables\n[31]: https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/#create-initialization-config-files\n[32]: https://docs.github.com/en/rest/authentication/authenticating-to-the-rest-api#authenticating-with-a-personal-access-token\n[33]: https://open.larksuite.com/document/server-docs/getting-started/api-access-token/app-access-token-development-guide#95c7f5f5\n[34]: https://nextjs.org/docs/deployment\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidea2app%2Fidea2app.github.io","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fidea2app%2Fidea2app.github.io","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fidea2app%2Fidea2app.github.io/lists"}