{"id":25201565,"url":"https://github.com/remcostoeten/simple-task-ui","last_synced_at":"2026-04-04T22:34:31.575Z","repository":{"id":276510721,"uuid":"927459376","full_name":"remcostoeten/rollyourownauth-nextjs-all-in-one-dashboard","owner":"remcostoeten","description":"A monorepo for rollyourownauth—an application demonstrating how to build custom authentication, paired with a feature-rich dashboard. Includes documentation and modular, framework-agnostic features.","archived":false,"fork":false,"pushed_at":"2025-03-23T05:54:36.000Z","size":1975,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T06:27:37.427Z","etag":null,"topics":["authentication","fumadocs","jwt","monorepo","nextjs15","postgresql","react","scalable","sessions","sqlite"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":false,"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/remcostoeten.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-02-05T01:44:55.000Z","updated_at":"2025-02-13T01:52:13.000Z","dependencies_parsed_at":"2025-03-23T06:24:14.338Z","dependency_job_id":"e8162947-0d35-419e-8873-a8cc451ab7c7","html_url":"https://github.com/remcostoeten/rollyourownauth-nextjs-all-in-one-dashboard","commit_stats":null,"previous_names":["remcostoeten/ryoa-mono-docs","remcostoeten/rollyourownauth-nextjs-all-in-one-dashboard"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remcostoeten%2Frollyourownauth-nextjs-all-in-one-dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remcostoeten%2Frollyourownauth-nextjs-all-in-one-dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remcostoeten%2Frollyourownauth-nextjs-all-in-one-dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remcostoeten%2Frollyourownauth-nextjs-all-in-one-dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/remcostoeten","download_url":"https://codeload.github.com/remcostoeten/rollyourownauth-nextjs-all-in-one-dashboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249601,"owners_count":20908211,"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":["authentication","fumadocs","jwt","monorepo","nextjs15","postgresql","react","scalable","sessions","sqlite"],"created_at":"2025-02-10T05:17:02.495Z","updated_at":"2025-12-30T23:08:46.247Z","avatar_url":"https://github.com/remcostoeten.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A monorepo for RYOAIO (Roll your own auth \u0026 all in one dashboard).\n\n### Consists of\n\n- RYOA - rollyourownauth.\n  A very scalable, good practice, feature and non-standard nextjs application dashboard for personal use built also to showcase custom rolling auth and best practices.\n\n- Docs\n  A MDX powered documentation site for the project. Planning and guiding all (interesting) features/models/concepts of the project.\n\n- Feature X/Y/Z For All-in-One Dashboard\n  Behind the custom rolled auth sits my all-in-one dashboard. It's a work in progress and I'm not sure what it will be yet.\n\n- As this is a monorepo and I try to built in an agnostic way, I often build features in separate apps and then move them to the core if they are generally useful. I often work on multiple projects at once. I do some doc work, get sidetracked and start working on a new feature, then move it to the core and back to a side project. This way I do keep all the \"potentials\" in one place.\n\n# RYOA (Roll Your Own Auth)\n\nA modern authentication system built with Next.js, Prisma, and TypeScript, featuring a flexible database management system.\n\n## Features\n\n- 🔐 Custom authentication system with session management\n- 🗄️ Multi-provider database support:\n  - Local SQLite or PostgreSQL via Docker\n  - Neon (PostgreSQL)\n  - Turso (distributed SQLite)\n  - Whateveryouwish. Agnostic as possible.\n- 🛠️ Interactive CLI for database management (creation, stopping, removing and way more)\n- 🔑 OAuth support (GitHub, Google \u0026 extendable adapter pattern)\n- 👤 Comprehensive user management (roles, permissions, etc)\n- 🔒 Security-first approach with password hashing and session tracking\n\n## Tech Stack\n\n- Next.js 15\n- Drizzle ORM\n- TypeScript\n- SQLite/PostgreSQL\n- Jose (JWT)\n\n## Key architecture patterns\n\n- Strong separation of concerns\n- Document first\n- Shared components\n- Feature flags\n- SOLID principles\n  ...\n\n## Quick Start\n\n```bash\n# Install dependencies\npnpm install\n\n# Initialize database\npnpm db init\n\n# Generate Drizzle client\npnpm gen\n\n# Push schema to database\npnpm dbpush\n\n# Start development server\npnpm dev\n```\n\n## Database Management\n\nUse the interactive CLI for database operations:\n\n```bash\npnpm db\n```\n\nAvailable commands:\n\n- Initialize database\n- Switch providers (SQLite/Neon/Turso)\n- Generate/push schema\n- View/describe tables\n- Test connections\n\n## Project Structure\n\nTo be expanded...\n\n```\nsrc/\n├── app/                   # Next.js app router\n├── components/           # React components\n├── core/                # Core utilities\n│   └── database/        # Database management\n├── modules/             # Feature modules\n│   └── authentication/  # Auth system\n└── server/             # Server-side code\n    └── db/             # Database config\n```\n\n## Environment Variables\n\n```env\nTO be expanded\nADMIN_EMAIL=\nDATABASE_URL=\n```\n\n## Feature flags\n\nA way to control certain feature behaviour\n\n```ts\nTo be implemented\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremcostoeten%2Fsimple-task-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremcostoeten%2Fsimple-task-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremcostoeten%2Fsimple-task-ui/lists"}