{"id":51405278,"url":"https://github.com/alyldas/uniauth-example-nuxt-express","last_synced_at":"2026-07-04T10:31:41.678Z","repository":{"id":360736163,"uuid":"1250378230","full_name":"alyldas/uniauth-example-nuxt-express","owner":"alyldas","description":"Full-stack Nuxt + Express + UniAuth + Drizzle integration example.","archived":false,"fork":false,"pushed_at":"2026-05-27T17:45:22.000Z","size":129,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T18:16:28.143Z","etag":null,"topics":["auth","authentication","example","express","nuxt","typescript","uniauth"],"latest_commit_sha":null,"homepage":"https://github.com/alyldas/uniauth-example-nuxt-express#readme","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alyldas.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":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-26T15:13:15.000Z","updated_at":"2026-05-27T17:45:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alyldas/uniauth-example-nuxt-express","commit_stats":null,"previous_names":["alyldas/uniauth-example-nuxt-express"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/alyldas/uniauth-example-nuxt-express","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyldas%2Funiauth-example-nuxt-express","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyldas%2Funiauth-example-nuxt-express/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyldas%2Funiauth-example-nuxt-express/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyldas%2Funiauth-example-nuxt-express/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alyldas","download_url":"https://codeload.github.com/alyldas/uniauth-example-nuxt-express/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alyldas%2Funiauth-example-nuxt-express/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35118970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-04T02:00:05.987Z","response_time":113,"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":["auth","authentication","example","express","nuxt","typescript","uniauth"],"created_at":"2026-07-04T10:31:41.074Z","updated_at":"2026-07-04T10:31:41.649Z","avatar_url":"https://github.com/alyldas.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UniAuth Nuxt + Express example\n\nThis app demonstrates the smallest full-stack runtime chain:\n\n```text\nNuxt frontend\n  -\u003e Express backend\n  -\u003e Drizzle-backed UniAuth repository adapter\n  -\u003e Postgres\n```\n\nThe app uses sibling packages through local `file:` dependencies:\n\n- `uniauth-core`\n- `uniauth-drizzle`\n- `uniauth-express`\n- `uniauth-nuxt`\n\n## Configuration\n\nDefaults are ready for local development. Override them through environment variables when needed:\n\n```text\nDATABASE_URL=postgres://uniauth:uniauth@127.0.0.1:5432/uniauth_example\nEXPRESS_HOST=127.0.0.1\nEXPRESS_PORT=4000\nNUXT_AUTH_BACKEND_ORIGIN=http://127.0.0.1:4000\n```\n\n## Run\n\n1. Install dependencies:\n\n   ```sh\n   npm install\n   ```\n\n2. Prepare the local core package:\n\n   ```sh\n   npm run prepare:core\n   ```\n\n3. Start Postgres:\n\n   ```sh\n   docker compose up -d postgres\n   ```\n\n4. Apply the schema:\n\n   ```sh\n   npm run db:apply-schema\n   ```\n\n5. Start Nuxt and Express:\n\n   ```sh\n   npm run dev\n   ```\n\n6. With `npm run dev` still running, check the live auth flow:\n\n   ```sh\n   npm run smoke:auth\n   ```\n\nNuxt runs on `http://127.0.0.1:3000`. Express runs on `http://127.0.0.1:4000`.\n\nFor the local static verification pass, run:\n\n```sh\nnpm run check\n```\n\nFor the live auth smoke flow, keep Postgres, Express, and Nuxt running through the steps above, then\nrun:\n\n```sh\nnpm run check:live\n```\n\nDemo credentials are seeded on backend startup:\n\n```text\nemail: demo@example.com\npassword: demo-password-123\n```\n\n## Backend Routes\n\n- `POST /auth/password/sign-in`\n- `GET /auth/account/session`\n- `POST /auth/account/session/refresh`\n- `POST /auth/account/sessions/revoke-current`\n- `GET /health`\n\nThe browser talks to Nuxt. The UniAuth Nuxt module proxies `/api/_uniauth/*` to the Express backend.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falyldas%2Funiauth-example-nuxt-express","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falyldas%2Funiauth-example-nuxt-express","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falyldas%2Funiauth-example-nuxt-express/lists"}