{"id":16314881,"url":"https://github.com/forecho/blitz-demo","last_synced_at":"2026-07-18T16:35:43.448Z","repository":{"id":147509230,"uuid":"505411382","full_name":"forecho/blitz-demo","owner":"forecho","description":null,"archived":false,"fork":false,"pushed_at":"2022-06-20T11:27:25.000Z","size":201,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-04T00:54:37.702Z","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/forecho.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-06-20T11:24:25.000Z","updated_at":"2023-03-17T13:04:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"34705a9d-27a9-4ce9-81df-cd271fd236ab","html_url":"https://github.com/forecho/blitz-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/forecho/blitz-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forecho%2Fblitz-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forecho%2Fblitz-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forecho%2Fblitz-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forecho%2Fblitz-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forecho","download_url":"https://codeload.github.com/forecho/blitz-demo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forecho%2Fblitz-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35624316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-18T02:00:07.223Z","response_time":61,"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-10-10T21:55:31.291Z","updated_at":"2026-07-18T16:35:43.424Z","avatar_url":"https://github.com/forecho.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Blitz.js](https://raw.githubusercontent.com/blitz-js/art/master/github-cover-photo.png)](https://blitzjs.com)\n\nThis is a [Blitz.js](https://github.com/blitz-js/blitz) app.\n\n# **blitz-demo**\n\n## Getting Started\n\nRun your app in the development mode.\n\n```\nblitz dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\n## Environment Variables\n\nEnsure the `.env.local` file has required environment variables:\n\n```\nDATABASE_URL=postgresql://\u003cYOUR_DB_USERNAME\u003e@localhost:5432/blitz-demo\n```\n\nEnsure the `.env.test.local` file has required environment variables:\n\n```\nDATABASE_URL=postgresql://\u003cYOUR_DB_USERNAME\u003e@localhost:5432/blitz-demo_test\n```\n\n## Tests\n\nRuns your tests using Jest.\n\n```\nyarn test\n```\n\nBlitz comes with a test setup using [Jest](https://jestjs.io/) and [react-testing-library](https://testing-library.com/).\n\n## Commands\n\nBlitz comes with a powerful CLI that is designed to make development easy and fast. You can install it with `npm i -g blitz`\n\n```\n  blitz [COMMAND]\n\n  dev       Start a development server\n  build     Create a production build\n  start     Start a production server\n  export    Export your Blitz app as a static application\n  prisma    Run prisma commands\n  generate  Generate new files for your Blitz project\n  console   Run the Blitz console REPL\n  install   Install a recipe\n  help      Display help for blitz\n  test      Run project tests\n```\n\nYou can read more about it on the [CLI Overview](https://blitzjs.com/docs/cli-overview) documentation.\n\n## What's included?\n\nHere is the starting structure of your app.\n\n```\nblitz-demo\n├── app/\n│   ├── api/\n│   ├── auth/\n│   │   ├── components/\n│   │   │   ├── LoginForm.tsx\n│   │   │   └── SignupForm.tsx\n│   │   ├── mutations/\n│   │   │   ├── changePassword.ts\n│   │   │   ├── forgotPassword.test.ts\n│   │   │   ├── forgotPassword.ts\n│   │   │   ├── login.ts\n│   │   │   ├── logout.ts\n│   │   │   ├── resetPassword.test.ts\n│   │   │   ├── resetPassword.ts\n│   │   │   └── signup.ts\n│   │   ├── pages/\n│   │   │   ├── forgot-password.tsx\n│   │   │   ├── login.tsx\n│   │   │   ├── reset-password.tsx\n│   │   │   └── signup.tsx\n│   │   └── validations.ts\n│   ├── core/\n│   │   ├── components/\n│   │   │   ├── Form.tsx\n│   │   │   └── LabeledTextField.tsx\n│   │   ├── hooks/\n│   │   │   └── useCurrentUser.ts\n│   │   └── layouts/\n│   │       └── Layout.tsx\n│   ├── pages/\n│   │   ├── _app.tsx\n│   │   ├── _document.tsx\n│   │   ├── 404.tsx\n│   │   ├── index.test.tsx\n│   │   └── index.tsx\n│   └── users/\n│       └── queries/\n│           └── getCurrentUser.ts\n├── db/\n│   ├── migrations/\n│   ├── index.ts\n│   ├── schema.prisma\n│   └── seeds.ts\n├── integrations/\n├── mailers/\n│   └── forgotPasswordMailer.ts\n├── public/\n│   ├── favicon.ico\n│   └── logo.png\n├── test/\n│   ├── setup.ts\n│   └── utils.tsx\n├── .eslintrc.js\n├── babel.config.js\n├── blitz.config.ts\n├── jest.config.ts\n├── package.json\n├── README.md\n├── tsconfig.json\n└── types.ts\n```\n\nThese files are:\n\n- The `app/` folder is a container for most of your project. This is where you’ll put any pages or API routes.\n\n- `db/` is where your database configuration goes. If you’re writing models or checking migrations, this is where to go.\n\n- `public/` is a folder where you will put any static assets. If you have images, files, or videos which you want to use in your app, this is where to put them.\n\n- `integrations/` is a folder to put all third-party integrations like with Stripe, Sentry, etc.\n\n- `test/` is a folder where you can put test utilities and integration tests.\n\n- `package.json` contains information about your dependencies and devDependencies. If you’re using a tool like `npm` or `yarn`, you won’t have to worry about this much.\n\n- `tsconfig.json` is our recommended setup for TypeScript.\n\n- `.babel.config.js`, `.eslintrc.js`, `.env`, etc. (\"dotfiles\") are configuration files for various bits of JavaScript tooling.\n\n- `blitz.config.ts` is for advanced custom configuration of Blitz. [Here you can learn how to use it](https://blitzjs.com/docs/blitz-config).\n\n- `jest.config.js` contains config for Jest tests. You can [customize it if needed](https://jestjs.io/docs/en/configuration).\n\nYou can read more about it in the [File Structure](https://blitzjs.com/docs/file-structure) section of the documentation.\n\n### Tools included\n\nBlitz comes with a set of tools that corrects and formats your code, facilitating its future maintenance. You can modify their options and even uninstall them.\n\n- **ESLint**: It lints your code: searches for bad practices and tell you about it. You can customize it via the `.eslintrc.js`, and you can install (or even write) plugins to have it the way you like it. It already comes with the [`blitz`](https://github.com/blitz-js/blitz/tree/canary/packages/eslint-config) config, but you can remove it safely. [Learn More](https://blitzjs.com/docs/eslint-config).\n- **Husky**: It adds [githooks](https://git-scm.com/docs/githooks), little pieces of code that get executed when certain Git events are triggerd. For example, `pre-commit` is triggered just before a commit is created. You can see the current hooks inside `.husky/`. If are having problems commiting and pushing, check out ther [troubleshooting](https://typicode.github.io/husky/#/?id=troubleshoot) guide. [Learn More](https://blitzjs.com/docs/husky-config).\n- **Prettier**: It formats your code to look the same everywhere. You can configure it via the `.prettierrc` file. The `.prettierignore` contains the files that should be ignored by Prettier; useful when you have large files or when you want to keep a custom formatting. [Learn More](https://blitzjs.com/docs/prettier-config).\n\n## Learn more\n\nRead the [Blitz.js Documentation](https://blitzjs.com/docs/getting-started) to learn more.\n\nThe Blitz community is warm, safe, diverse, inclusive, and fun! Feel free to reach out to us in any of our communication channels.\n\n- [Website](https://blitzjs.com)\n- [Discord](https://blitzjs.com/discord)\n- [Report an issue](https://github.com/blitz-js/blitz/issues/new/choose)\n- [Forum discussions](https://github.com/blitz-js/blitz/discussions)\n- [How to Contribute](https://blitzjs.com/docs/contributing)\n- [Sponsor or donate](https://github.com/blitz-js/blitz#sponsors-and-donations)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforecho%2Fblitz-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforecho%2Fblitz-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforecho%2Fblitz-demo/lists"}