{"id":26224463,"url":"https://github.com/4rays/astro-starter","last_synced_at":"2025-03-12T18:19:53.967Z","repository":{"id":281911986,"uuid":"946763236","full_name":"4rays/astro-starter","owner":"4rays","description":"A starter template for Astro.","archived":false,"fork":false,"pushed_at":"2025-03-11T19:50:39.000Z","size":75,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-11T20:27:42.198Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Astro","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/4rays.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":"2025-03-11T16:30:08.000Z","updated_at":"2025-03-11T19:50:42.000Z","dependencies_parsed_at":"2025-03-11T20:28:21.645Z","dependency_job_id":"51c05704-a0b9-4702-941c-31a41f90f086","html_url":"https://github.com/4rays/astro-starter","commit_stats":null,"previous_names":["4rays/astro-starter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4rays%2Fastro-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4rays%2Fastro-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4rays%2Fastro-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/4rays%2Fastro-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/4rays","download_url":"https://codeload.github.com/4rays/astro-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243268436,"owners_count":20263865,"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":[],"created_at":"2025-03-12T18:19:53.373Z","updated_at":"2025-03-12T18:19:53.961Z","avatar_url":"https://github.com/4rays.png","language":"Astro","readme":"# Astro Starter Kit with Better Auth and Drizzle ORM\n\nThis starter kit integrates Astro with Better Auth for authentication and Drizzle ORM for database operations. It includes a complete authentication system with sign-up, sign-in, and user profile functionality.\n\n## 🚀 Features\n\n- **User Authentication**: Complete authentication flow with Better Auth\n- **Database Integration**: SQLite database with Drizzle ORM\n- **Server-side Rendering**: Full SSR support with Astro\n- **Type Safety**: Built with TypeScript for better developer experience\n\n## 📁 Project Structure\n\n```text\n/\n├── public/\n│   └── favicon.svg\n├── src/\n│   ├── components/\n│   │   └── Welcome.astro\n│   ├── db/\n│   │   ├── index.ts\n│   │   └── schema.ts\n│   ├── layouts/\n│   │   └── Layout.astro\n│   ├── lib/\n│   │   ├── auth-client.ts\n│   │   └── auth.ts\n│   ├── pages/\n│   │   ├── api/\n│   │   │   └── auth/\n│   │   │       └── [...all].ts\n│   │   ├── signin/\n│   │   │   └── index.astro\n│   │   ├── signup/\n│   │   │   └── index.astro\n│   │   └── index.astro\n│   └── middleware.ts\n├── .env.example\n├── astro.config.mjs\n├── drizzle.config.ts\n├── env.d.ts\n└── package.json\n```\n\n## 🛠️ Getting Started\n\n1. **Clone the repository**:\n\n```bash\ngit clone https://github.com/yourusername/astro-starter.git\ncd astro-starter\n```\n\n1. **Install dependencies**:\n\n```bash\npnpm install\n```\n\n1. **Set up environment variables**:\n\n```bash\ncp .env.example .env\n```\n\n1. **Start the development server**:\n\n```bash\npnpm dev\n```\n\n## 🧞 Commands\n\n| Command         | Action                                   |\n| :-------------- | :--------------------------------------- |\n| `pnpm install`  | Installs dependencies                    |\n| `pnpm dev`      | Starts local dev server with DB setup    |\n| `pnpm build`    | Build your production site with DB setup |\n| `pnpm preview`  | Preview your build locally               |\n| `pnpm db-setup` | Generate and push Drizzle migrations     |\n\n## 🔐 Authentication Flow\n\n1. **Sign Up**: Users can create an account with name, email, and password\n2. **Sign In**: Users can log in with their email and password\n3. **Protected Routes**: The home page is protected and requires authentication\n4. **Sign Out**: Users can log out from their account\n\n## 🗄️ Database\n\nThe application uses SQLite with Drizzle ORM. The database schema includes:\n\n- Users\n- Sessions\n- Accounts\n- Verification tokens\n\n## 📚 Learn More\n\n- [Astro Documentation](https://docs.astro.build)\n- [Better Auth Documentation](https://github.com/zenstackhq/better-auth)\n- [Drizzle ORM Documentation](https://orm.drizzle.team/docs/overview)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4rays%2Fastro-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F4rays%2Fastro-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F4rays%2Fastro-starter/lists"}