{"id":14969197,"url":"https://github.com/bskimball/astro-fastify-starter","last_synced_at":"2025-10-12T15:52:01.761Z","repository":{"id":247831940,"uuid":"826963325","full_name":"bskimball/astro-fastify-starter","owner":"bskimball","description":"A simple example of using astro with fastify and trpc","archived":false,"fork":false,"pushed_at":"2024-12-12T12:33:58.000Z","size":925,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-31T16:12:56.772Z","etag":null,"topics":["astro","drizzle-orm","fastify","lucia-auth","trpc","typescript"],"latest_commit_sha":null,"homepage":"","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/bskimball.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":"2024-07-10T18:24:13.000Z","updated_at":"2025-01-30T00:39:35.000Z","dependencies_parsed_at":"2024-07-10T22:25:15.212Z","dependency_job_id":"cdc9719c-1ae5-4d79-acb0-89ba6b5759b5","html_url":"https://github.com/bskimball/astro-fastify-starter","commit_stats":{"total_commits":14,"total_committers":1,"mean_commits":14.0,"dds":0.0,"last_synced_commit":"fa778aed61c88695479c82dc36326dd93fcc1574"},"previous_names":["bskimball/astro-fastify-starter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bskimball%2Fastro-fastify-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bskimball%2Fastro-fastify-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bskimball%2Fastro-fastify-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bskimball%2Fastro-fastify-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bskimball","download_url":"https://codeload.github.com/bskimball/astro-fastify-starter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238276094,"owners_count":19445346,"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":["astro","drizzle-orm","fastify","lucia-auth","trpc","typescript"],"created_at":"2024-09-24T13:41:19.861Z","updated_at":"2025-10-12T15:52:01.753Z","avatar_url":"https://github.com/bskimball.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# *** Latest ***\nThis is using Astro v5, Tailwind v4 and React 19.  \n\n# Astro Fastify Starter\n\nThis is an example repo of having astro and fastify in the same app.\nThis example is based on the fastify example in the\n[node adapter](https://docs.astro.build/en/guides/integrations-guide/node/#middleware) section.\nThe main difference is this uses TypeScript.\nIt also has an example of using the\n[trpc fastify adapter](https://trpc.io/docs/server/adapters/fastify), so you have end-to-end type safety.\n\n[Blog Post](https://brian-kimball.com/blog/fastify-astro-starter)\n\n## Auth\n\nAuth was set up for [Lucia](https://lucia-auth.com/)\nbut has been changed to the guide at [Lucia-next](https://lucia-next.pages.dev/).\nIt's currently using username/password auth and storing to a session.\nThat information is available to astro as well as fastify and trpc.\n\n## ORM\n\nData access is done using [Drizzle](https://orm.drizzle.team/), and the example is set up for an SQLite database.\n\n## 🚀 Project Structure\n\nInside your Astro project, you'll see the following folders and files:\n\n```text\n/\n├── public/\n│   └── favicon.svg\n├── src/\n│   ├── api/\n│   │   └── server.ts\n│   │   └── dev.ts\n│   ├── components/\n│   │   └── Card.astro\n│   ├── layouts/\n│   │   └── Layout.astro\n│   |── pages/\n│   |   └── index.astro\n|   |-- middleware.ts\n|   |-- schema.ts\n|   |-- session.ts\n└── run-server.mjs\n└── package.json\n```\n\n## 🧞 Commands\n\nAll commands are run from the root of the project, from a terminal:\n\n| Command                   | Action                                           |\n|:--------------------------|:-------------------------------------------------|\n| `npm install`             | Installs dependencies                            |\n| `npm run dev`             | Starts local dev server at `localhost:4321`      |\n| `npm run build`           | Build your production site to `./dist/`          |\n| `npm run start`           | Start your production build                      |\n| `npm run astro ...`       | Run CLI commands like `astro add`, `astro check` |\n| `npm run generate`        | Generate schema                                  |\n| `npm run migrate`         | Run migrations                                   |\n| `npm run studio`          | Run Drizzle-kit Studio                           |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbskimball%2Fastro-fastify-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbskimball%2Fastro-fastify-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbskimball%2Fastro-fastify-starter/lists"}