{"id":22612310,"url":"https://github.com/utsavdotpro/voteit-blitzjs","last_synced_at":"2026-05-03T04:37:02.210Z","repository":{"id":45230318,"uuid":"442900166","full_name":"utsavdotpro/VoteIt-blitzJS","owner":"utsavdotpro","description":"Practice project for BlitzJS development","archived":false,"fork":false,"pushed_at":"2021-12-29T23:13:58.000Z","size":337,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-03T10:12:08.306Z","etag":null,"topics":["blitzjs","fullstack","practice-project","prisma","typescript"],"latest_commit_sha":null,"homepage":"https://vote-it-blitz.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/utsavdotpro.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}},"created_at":"2021-12-29T21:59:06.000Z","updated_at":"2022-01-31T20:52:28.000Z","dependencies_parsed_at":"2022-09-21T09:43:59.274Z","dependency_job_id":null,"html_url":"https://github.com/utsavdotpro/VoteIt-blitzJS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utsavdotpro%2FVoteIt-blitzJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utsavdotpro%2FVoteIt-blitzJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utsavdotpro%2FVoteIt-blitzJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/utsavdotpro%2FVoteIt-blitzJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/utsavdotpro","download_url":"https://codeload.github.com/utsavdotpro/VoteIt-blitzJS/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246117690,"owners_count":20726068,"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":["blitzjs","fullstack","practice-project","prisma","typescript"],"created_at":"2024-12-08T17:12:16.020Z","updated_at":"2026-05-03T04:36:57.190Z","avatar_url":"https://github.com/utsavdotpro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vote It\n\nA simple web app built with [Blitz.js](https://github.com/blitz-js/blitz) that allows registered user to create questions with multiple choices and vote on those choices.\n\n## Screenshots\n\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"./screenshots/home.png\" width=\"45%\"\u003e\n  \u0026nbsp;\n  \u003cimg src=\"./screenshots/questions.png\" width=\"45%\"\u003e\n  \u0026nbsp;\n  \u003cimg src=\"./screenshots/new-question.png\" width=\"45%\"\u003e\n  \u0026nbsp;\n  \u003cimg src=\"./screenshots/question.png\" width=\"45%\"\u003e\n\u003c/p\u003e\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/vote-it\nSHADOW_DATABASE_URL=postgresql://\u003cYOUR_DB_USERNAME\u003e@localhost:5432/vote-it\n```\n\n[See more](#hosting-database) on hosting database\n\nEnsure the `.env.test.local` file has required environment variables:\n\n```\nDATABASE_URL=postgresql://\u003cYOUR_DB_USERNAME\u003e@localhost:5432/vote-it_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## 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## Hosting Database\n\n### Hosting on [SuperBase](https://superbase.io)\n\n- Login/Register for a free account\n- Create a new Project (you might have to create an Organization first)\n- Wait for the project to finish building\n- Once done, navigate to **Database** from side bar\n- Navigate to **Settings** \u003e **Connection Polling**\n- Scroll to the bottom of the page and copy the _Connection string_\n- Save the string as `DATABASE_URL` in `env` file. Don't forget to replace the password\n- **Repeat the same steps for `SHADOW_DATABASE_URL`**\n\n_**Ref:** [Blog](https://cb-ashik.hashnode.dev/deploy-blitzjs-app-to-vercel) by Ashik Chapagain_\n\n### Reset Database Password\n\n- Navigate to **Dashboard SQL editor** on SuperBase\n- Hit **+ New Query**\n- Run the following query\n  ```\n  alter user postgres\n  with password 'YOUR_NEW_PASSWORD';\n  ```\n\n## Credits\n\n- **Watch and Learn**'s [tutorial](https://youtu.be/oe5pwktPWts) on YouTube\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futsavdotpro%2Fvoteit-blitzjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futsavdotpro%2Fvoteit-blitzjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futsavdotpro%2Fvoteit-blitzjs/lists"}