{"id":21929928,"url":"https://github.com/prests/remix-portfolio","last_synced_at":"2026-04-10T14:37:59.297Z","repository":{"id":263713538,"uuid":"891257041","full_name":"prests/remix-portfolio","owner":"prests","description":"My web portfolio powered by Remix and Hono.","archived":false,"fork":false,"pushed_at":"2025-01-23T13:23:33.000Z","size":2453,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T12:44:48.317Z","etag":null,"topics":["blog","hono","javascript","js","personal","personal-website","playwright","portfolio","portfolio-website","radix-ui","react","react-router","remix","storybook","stylex","ts","typescript","vite","vitest","website"],"latest_commit_sha":null,"homepage":"https://shaynepreston.com","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prests.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-11-20T02:22:14.000Z","updated_at":"2025-01-23T13:23:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"60fa80bf-5947-4a8f-97a6-dd85f9f51fad","html_url":"https://github.com/prests/remix-portfolio","commit_stats":null,"previous_names":["prests/remix-portfolio"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prests/remix-portfolio","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prests%2Fremix-portfolio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prests%2Fremix-portfolio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prests%2Fremix-portfolio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prests%2Fremix-portfolio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prests","download_url":"https://codeload.github.com/prests/remix-portfolio/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prests%2Fremix-portfolio/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270637737,"owners_count":24620427,"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-08-15T02:00:12.559Z","response_time":110,"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":["blog","hono","javascript","js","personal","personal-website","playwright","portfolio","portfolio-website","radix-ui","react","react-router","remix","storybook","stylex","ts","typescript","vite","vitest","website"],"created_at":"2024-11-28T23:06:17.679Z","updated_at":"2025-12-30T19:18:51.617Z","avatar_url":"https://github.com/prests.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Remix Portfolio \u0026middot; [![E2E Tests](https://github.com/prests/remix-portfolio/actions/workflows/e2e.yaml/badge.svg?branch=main\u0026event=push)](https://github.com/prests/remix-portfolio/actions/workflows/e2e.yaml?query=branch:main+event:push) [![CI Tests](https://github.com/prests/hono-remix-template/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/prests/hono-remix-template/actions/workflows/ci.yaml?query=branch:main+event:push)\n\nWelcome to my portfolio built on Hono and Remix! I like to play around with new frameworks and technology and this is\none I've been working with recently! If you like this build be sure to checkout\n[the template](https://github.com/prests/hono-remix-template) I made to make your own; or fork this one!\n\n\u003e 📧 **Note:** If you like what you see and would like to get in contact with me please email me at\n\u003e shayne.preston@protonmail.com\n\n## Setup\n\n### Install Setup NVM, PNPM, and Dependencies\n\nI find [NVM](https://github.com/nvm-sh/nvm) to be a great way to switch between node versions when working on multiple\nprojects. Whether it's node v20, v18, or v8 NVM can quickly swap node versions!\n\nOnce NVM is setup run the following:\n\n```sh\nnvm install\nnpm i -g pnpm@^8\npnpm install\n```\n\nAlternatively, you can use [corepack](https://github.com/nodejs/corepack) to manage your package management.\n\nAfter running `pnpm install` various lifecycle scripts will run to setup git hooks and certificates to utilize https for\nthe dev server.\n\n### Setting Up Localhost\n\nYou'll need to modify your operating system's host file to include `local.example-test.com` this is helps with CORS and\nCSP issues that can come up when just using `localhost` or `127.0.0.1`.\n\n### Setting Up Environment Variables\n\nMost production applications require environment variables to configure settings securely. We’ll set up a `.env` file to\ninject variables locally, making them accessible via process.env. This template also uses [Zod](https://zod.dev/) to\nensure type safety when loading these variables.\n\n1. Create a `.env` file at the root of the project and add the following values:\n\n```sh\nABORT_DELAY=5000\n```\n\n2. These variables are now accessible on the `process.env` object when the server starts and validated with Zod to catch\n   any type issues early.\n\n### Running Dev Server\n\nTo start the dev server run the following and navigate to the url provided in the terminal:\n\n```sh\npnpm dev\n```\n\n## Testing\n\n- **Unit/Integration Tests:** Run the following to test individual components or functions in isolation:\n\n```sh\npnpm test\n```\n\n- **End-to-End (E2E) Tests:** Run the following to simulate user interactions across different browsers:\n\n```sh\npnpm test:e2e:local\n```\n\n## Linting, Formatting, and Typechecking\n\nMost IDEs will take in the provided eslint and prettier configs and automatically format files on save. If not running\nthe following will check to make sure there are no styling issues:\n\n```sh\npnpm lint # eslint check\npnpm format:verify # prettier check\npnpm typecheck # typechecking\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprests%2Fremix-portfolio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprests%2Fremix-portfolio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprests%2Fremix-portfolio/lists"}