{"id":27168424,"url":"https://github.com/8bittitan/screamo-stack","last_synced_at":"2025-07-28T05:38:38.095Z","repository":{"id":41266412,"uuid":"508550462","full_name":"8bittitan/screamo-stack","owner":"8bittitan","description":"Remix Stack for deploying to Vercel with a MySQL database","archived":false,"fork":false,"pushed_at":"2022-12-01T15:17:21.000Z","size":544,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T05:33:52.401Z","etag":null,"topics":["mysql","prisma","react","remix","remix-stack","storybook","tailwindcss","vercel","vitest"],"latest_commit_sha":null,"homepage":"https://screamo-stack.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/8bittitan.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":"2022-06-29T04:54:08.000Z","updated_at":"2023-10-20T16:13:04.000Z","dependencies_parsed_at":"2023-01-23T20:31:24.935Z","dependency_job_id":null,"html_url":"https://github.com/8bittitan/screamo-stack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/8bittitan/screamo-stack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bittitan%2Fscreamo-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bittitan%2Fscreamo-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bittitan%2Fscreamo-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bittitan%2Fscreamo-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/8bittitan","download_url":"https://codeload.github.com/8bittitan/screamo-stack/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/8bittitan%2Fscreamo-stack/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267468944,"owners_count":24092337,"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-07-28T02:00:09.689Z","response_time":68,"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":["mysql","prisma","react","remix","remix-stack","storybook","tailwindcss","vercel","vitest"],"created_at":"2025-04-09T05:32:32.372Z","updated_at":"2025-07-28T05:38:38.044Z","avatar_url":"https://github.com/8bittitan.png","language":"TypeScript","readme":"# Remix Screamo Stack\n\n![The Remix Screamo Stack](https://user-images.githubusercontent.com/33367713/173238887-19215227-1027-44f3-bf2d-3ff1306bfa81.png)\n\nLearn more about [Remix Stacks](https://remix.run/stacks).\n\n```\nnpx create-remix --template 8bittitan/screamo-stack\n```\n\n## What's in the stack\n\n- [Vercel deployment](https://vercel.com)\n- [GitHub Actions](https://github.com/features/actions) for deploy on merge to production and staging environments\n- Authentication handled with [Remix Auth](https://github.com/sergiodxa/remix-auth). (email/password and example OAuth)\n- Database ORM with [Prisma](https://prisma.io)\n- [MySQL](https://www.mysql.com/) database to be used with [PlanetScale](https://planetscale.com/)\n- Styling with [Tailwind](https://tailwindcss.com/)\n- Unit testing with [Vitest](https://vitest.dev) and [Testing Library](https://testing-library.com)\n- Code formatting with [Prettier](https://prettier.io)\n- Linting with [ESLint](https://eslint.org)\n- Static Types with [TypeScript](https://typescriptlang.org)\n- [Storybook](https://storybook.js.org/) for component previewing\n- Reliable integration tests with [Playwright](https://playwright.dev/)\n\nNot a fan of bits of the stack? Fork it, change it, and use `npx create-remix --template your/repo`! Make it your own.\n\n## Development\n\n- Initial setup:\n\n  ```sh\n  npm run setup\n  ```\n\n- Run the first build:\n\n  ```sh\n  npm run build\n  ```\n\n- Start dev server:\n\n  ```sh\n  npm run dev\n  ```\n\nThis starts your app in development mode, rebuilding assets on file changes.\n\nThe database seed script creates a new user with some data you can use to get started:\n\n- Email: `testaccount123@test.com`\n- Password: `password123`\n\n### Relevant code:\n\nThis is a pretty simple note-taking app, but it's a good example of how you can build a full stack app with Prisma and Remix. The main functionality is creating users, logging in and out, and creating and deleting notes.\n\n- creating users, and logging in and out [./app/models/user.server.ts](./app/models/user.server.ts)\n- creating, and deleting widgets [./app/models/widget.server.ts](./app/models/widget.server.ts)\n- user authentication [./app/utils/auth.server.ts](./app/utils/auth.server.ts)\n- user sessions, and verifying them [./app/utils/session.server.ts](./app/utils/session.server.ts)\n\n## Deployment\n\nThis Remix Stack is built to be deployed with [Vercel](https://vercel.com/).\n\nVercel will automatically deploy a repository setup on Github. To get started, we first need to initialize a git repo:\n\n```sh\ngit init .\n```\n\nWe also need to create a new [GitHub Repository](https://repo.new), and then add it as the remote for your project:\n\n```sh\ngit remote add origin main\n```\n\nOnce the repo is created, we need to create our first commit and push our changes:\n\n```sh\ngit add .\n```\n\n```sh\ngit commit -m \"Initial commit\"\n```\n\n```sh\ngit push --set-upstream origin main\n```\n\nNow that our code is pushed, we can start setting up Vercel. We need to first create a new project from the dashboard (this is assuming you already have an account):\n\n```\n// TODO: Add documentation on creating a DB and Vercel app\n```\n\n## Testing\n\n### Vitest\n\nFor lower level tests of utilities and individual components, we use `vitest`. We have DOM-specific assertion helpers via [`@testing-library/jest-dom`](https://testing-library.com/jest-dom).\n\n### Playwright\n\nFor integration tests, we use [Playwright](https://playwright.dev/) and specifically tets on Chrome and FireFox.\n\n### Type Checking\n\nThis project uses TypeScript. It's recommended to get TypeScript set up for your editor to get a really great in-editor experience with type checking and auto-complete. To run type checking across the whole project, run `npm run typecheck`.\n\n### Linting\n\nThis project uses ESLint for linting. That is configured in `.eslintrc.js`.\n\n### Formatting\n\nWe use [Prettier](https://prettier.io/) for auto-formatting in this project. It's recommended to install an editor plugin (like the [VSCode Prettier plugin](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)) to get auto-formatting on save. There's also a `npm run format` script you can run to format all files in the project.\n\nThis will also auto format per commit through a husky commit hook!\n\n### Storybook\n\nWe use [Storybook](https://storybook.js.org/) for component previewing. To get started, just run `npm run storybook` to start Storybook in local.\n\nWe also use the [a11y addon](https://storybook.js.org/addons/@storybook/addon-a11y/) for making sure that our components are accessible.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8bittitan%2Fscreamo-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F8bittitan%2Fscreamo-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F8bittitan%2Fscreamo-stack/lists"}