{"id":20228561,"url":"https://github.com/aryaniyaps/python-backend-starter","last_synced_at":"2026-04-10T04:55:29.950Z","repository":{"id":209242668,"uuid":"723385021","full_name":"aryaniyaps/python-backend-starter","owner":"aryaniyaps","description":null,"archived":false,"fork":false,"pushed_at":"2024-05-10T05:29:07.000Z","size":1256,"stargazers_count":2,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-03T13:17:30.057Z","etag":null,"topics":["alembic","caddy","fastapi","jinja2","nextjs","nextui","openapi","postgresql","pydantic","pytest","redis","saq","sqlalchemy","structlog","uvicorn"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aryaniyaps.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,"zenodo":null}},"created_at":"2023-11-25T13:57:03.000Z","updated_at":"2025-01-17T10:44:55.000Z","dependencies_parsed_at":"2024-01-22T12:26:36.793Z","dependency_job_id":"79b39571-0e17-4ca8-a325-8b5fb0d37101","html_url":"https://github.com/aryaniyaps/python-backend-starter","commit_stats":null,"previous_names":["aryaniyaps/python-backend-starter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aryaniyaps/python-backend-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaniyaps%2Fpython-backend-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaniyaps%2Fpython-backend-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaniyaps%2Fpython-backend-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaniyaps%2Fpython-backend-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aryaniyaps","download_url":"https://codeload.github.com/aryaniyaps/python-backend-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aryaniyaps%2Fpython-backend-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262608801,"owners_count":23336567,"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":["alembic","caddy","fastapi","jinja2","nextjs","nextui","openapi","postgresql","pydantic","pytest","redis","saq","sqlalchemy","structlog","uvicorn"],"created_at":"2024-11-14T07:31:22.734Z","updated_at":"2025-10-28T01:13:21.693Z","avatar_url":"https://github.com/aryaniyaps.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"TODO:\n\ngenerate a flow ID during registration and save it server side.\nthis flow ID is taken by the client and stored client side in local storage.\n\nduring each step, the client retrieves flow info/ state (whether it is valid, what stage it is in)\nif the flow ID is invalid, the client redirects to initial register form and deletes it from local storage\n\nif it is valid, it redirects to the relevant flow stage\n\nflow stages:\n\n- step 1: user enters email and a verification code is sent. if email already exists, error is returned. otherwise, the flow ID is returned from the server\n- step 2: the verification code is entered by the client along with the flow ID. If the code is correct, the server marks the flow as verified server-side and proceeds to the next stage.\n- step 3: the user initiates the webauthn registration process with the email as username\n- step 4: the user finishes the webauthn registration process and the user is created along with their webauthn credential\n\nthe flowID is best stored in clientStorage, instead of the query param.\n\nbut if it is stored in query param, maybe we can validate the flow ID server-side using next js itself, before rendering the page\nand redirect to the required state.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryaniyaps%2Fpython-backend-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faryaniyaps%2Fpython-backend-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faryaniyaps%2Fpython-backend-starter/lists"}