{"id":24113880,"url":"https://github.com/michaeljohnn/broccoli","last_synced_at":"2025-02-28T10:27:24.710Z","repository":{"id":81696937,"uuid":"490522188","full_name":"michaeljohnn/broccoli","owner":"michaeljohnn","description":"broccoli","archived":false,"fork":false,"pushed_at":"2022-05-10T03:02:46.000Z","size":267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-11T04:53:19.378Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/michaeljohnn.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":"2022-05-10T03:01:42.000Z","updated_at":"2022-05-10T03:02:50.000Z","dependencies_parsed_at":"2023-03-31T13:32:35.309Z","dependency_job_id":null,"html_url":"https://github.com/michaeljohnn/broccoli","commit_stats":null,"previous_names":["michaeljohnn/broccoli"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeljohnn%2Fbroccoli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeljohnn%2Fbroccoli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeljohnn%2Fbroccoli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaeljohnn%2Fbroccoli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaeljohnn","download_url":"https://codeload.github.com/michaeljohnn/broccoli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241137890,"owners_count":19916221,"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":[],"created_at":"2025-01-11T04:50:58.981Z","updated_at":"2025-02-28T10:27:24.661Z","avatar_url":"https://github.com/michaeljohnn.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Broccoli Invite\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `npm install`\ninstall dependencies\n\n### `npm start`\n\nRuns the app in the development mode.\\\nOpen [http://localhost:9000](http://localhost:9000) to view it in your browser.\n\nThe page will reload when you make changes.\\\nYou may also see any lint errors in the console.\n\n### `npm run test`\n\nrun unit tests using jest.\n\n### `npm run build`\n\nBuilds the app for production to the `dist` folder.\n\n## File structure\n```\n.\n├── README.md\n├── __tests__\n├── coverage\n├── dist\n├── jest.config.js\n├── package-lock.json\n├── package.json\n├── public\n├── src\n│   ├── components\n│   │   ├── footer\n│   │   │   ├── index.less\n│   │   │   └── index.tsx\n│   │   ├── header\n│   │   │   ├── index.less\n│   │   │   └── index.tsx\n│   │   ├── layout\n│   │   │   ├── index.less\n│   │   │   └── index.tsx\n│   │   └── modal\n│   │       ├── index.less\n│   │       └── index.tsx\n│   ├── pages\n│   │   └── invite\n│   │       ├── components\n│   │       │   ├── invite-content\n│   │       │   │   ├── index.less\n│   │       │   │   └── index.tsx\n│   │       │   ├── invite-form\n│   │       │   │   ├── index.less\n│   │       │   │   └── index.tsx\n│   │       │   └── success-panel\n│   │       │       ├── index.less\n│   │       │       └── index.tsx\n│   │       ├── index.less\n│   │       └── index.tsx\n│   ├── services\n│   │   ├── apis\n│   │   │   └── invite.ts\n│   │   └── invite.ts\n│   ├── global.less\n│   ├── index.html\n│   ├── index.tsx\n│   └── typings.d.ts\n├── tsconfig.json\n└── webpack.config.js\n\n```\n\n## Architecture Introduce\n\n### Fromework Tools\nReact18 + Webpack5 + Typescript + babel7 + less + jest + eslint\n\n### Unit tests\nUI and function unit tests using jest.\nCover the following conditions:\n* name field do not validate properly\n* email field do not validate properly\n* confirmEmail field do not equal to email field\n* all form fields validate properly\n* api response with status 200\n* api response with status 400\n\n### Performance optimization\n* Webpack externals\n* Webpack code splitting\n* React.lazy \u0026 Suspense\n\n\n### Type system\n* typescript\n\n\n### Browser compatibility\n\nCover browsers account for 96.72% of all users globally.\n```\n\"browserslist\": [\n  \"defaults\",\n  \"\u003e 0.05%\",\n  \"cover 99.5%\"\n]\n```\n\n```\nbrowserslist --coverage '\u003e 0.05%, defaults, cover 99.5%'\n\u003e\u003e These browsers account for 96.72% of all users globally\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeljohnn%2Fbroccoli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaeljohnn%2Fbroccoli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaeljohnn%2Fbroccoli/lists"}