[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1067":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":48,"discoverSource":49},1067,"full-stack-fastapi-template","fastapi\u002Ffull-stack-fastapi-template","fastapi","Full stack, modern web application template. Using FastAPI, React, SQLModel, PostgreSQL, Docker, GitHub Actions, automatic HTTPS and more.","",null,"TypeScript",43614,8642,295,2,0,10,115,510,70,45,"MIT License",false,"master",true,[27,28,29,7,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"backend","chakra-ui","docker","frontend","json","json-schema","jwt","letsencrypt","openapi","postgresql","python","react","sqlmodel","swagger","tanstack-query","tanstack-router","traefik","typescript","2026-06-12 02:00:22","# Full Stack FastAPI Template\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template\u002Factions?query=workflow%3A%22Test+Docker+Compose%22\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template\u002Fworkflows\u002FTest%20Docker%20Compose\u002Fbadge.svg\" alt=\"Test Docker Compose\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template\u002Factions?query=workflow%3A%22Test+Backend%22\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template\u002Fworkflows\u002FTest%20Backend\u002Fbadge.svg\" alt=\"Test Backend\">\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fcoverage-badge.samuelcolvin.workers.dev\u002Fredirect\u002Ffastapi\u002Ffull-stack-fastapi-template\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fcoverage-badge.samuelcolvin.workers.dev\u002Ffastapi\u002Ffull-stack-fastapi-template.svg\" alt=\"Coverage\">\u003C\u002Fa>\n\n## Technology Stack and Features\n\n- ⚡ [**FastAPI**](https:\u002F\u002Ffastapi.tiangolo.com) for the Python backend API.\n  - 🧰 [SQLModel](https:\u002F\u002Fsqlmodel.tiangolo.com) for the Python SQL database interactions (ORM).\n  - 🔍 [Pydantic](https:\u002F\u002Fdocs.pydantic.dev), used by FastAPI, for the data validation and settings management.\n  - 💾 [PostgreSQL](https:\u002F\u002Fwww.postgresql.org) as the SQL database.\n- 🚀 [React](https:\u002F\u002Freact.dev) for the frontend.\n  - 💃 Using TypeScript, hooks, [Vite](https:\u002F\u002Fvitejs.dev), and other parts of a modern frontend stack.\n  - 🎨 [Tailwind CSS](https:\u002F\u002Ftailwindcss.com) and [shadcn\u002Fui](https:\u002F\u002Fui.shadcn.com) for the frontend components.\n  - 🤖 An automatically generated frontend client.\n  - 🧪 [Playwright](https:\u002F\u002Fplaywright.dev) for End-to-End testing.\n  - 🦇 Dark mode support.\n- 🐋 [Docker Compose](https:\u002F\u002Fwww.docker.com) for development and production.\n- 🔒 Secure password hashing by default.\n- 🔑 JWT (JSON Web Token) authentication.\n- 📫 Email based password recovery.\n- 📬 [Mailcatcher](https:\u002F\u002Fmailcatcher.me) for local email testing during development.\n- ✅ Tests with [Pytest](https:\u002F\u002Fpytest.org).\n- 📞 [Traefik](https:\u002F\u002Ftraefik.io) as a reverse proxy \u002F load balancer.\n- 🚢 Deployment instructions using Docker Compose, including how to set up a frontend Traefik proxy to handle automatic HTTPS certificates.\n- 🏭 CI (continuous integration) and CD (continuous deployment) based on GitHub Actions.\n\n### Dashboard Login\n\n[![API docs](img\u002Flogin.png)](https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template)\n\n### Dashboard - Admin\n\n[![API docs](img\u002Fdashboard.png)](https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template)\n\n### Dashboard - Items\n\n[![API docs](img\u002Fdashboard-items.png)](https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template)\n\n### Dashboard - Dark Mode\n\n[![API docs](img\u002Fdashboard-dark.png)](https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template)\n\n### Interactive API Documentation\n\n[![API docs](img\u002Fdocs.png)](https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template)\n\n## How To Use It\n\nYou can **just fork or clone** this repository and use it as is.\n\n✨ It just works. ✨\n\n### How to Use a Private Repository\n\nIf you want to have a private repository, GitHub won't allow you to simply fork it as it doesn't allow changing the visibility of forks.\n\nBut you can do the following:\n\n- Create a new GitHub repo, for example `my-full-stack`.\n- Clone this repository manually, set the name with the name of the project you want to use, for example `my-full-stack`:\n\n```bash\ngit clone git@github.com:fastapi\u002Ffull-stack-fastapi-template.git my-full-stack\n```\n\n- Enter into the new directory:\n\n```bash\ncd my-full-stack\n```\n\n- Set the new origin to your new repository, copy it from the GitHub interface, for example:\n\n```bash\ngit remote set-url origin git@github.com:octocat\u002Fmy-full-stack.git\n```\n\n- Add this repo as another \"remote\" to allow you to get updates later:\n\n```bash\ngit remote add upstream git@github.com:fastapi\u002Ffull-stack-fastapi-template.git\n```\n\n- Push the code to your new repository:\n\n```bash\ngit push -u origin master\n```\n\n### Update From the Original Template\n\nAfter cloning the repository, and after doing changes, you might want to get the latest changes from this original template.\n\n- Make sure you added the original repository as a remote, you can check it with:\n\n```bash\ngit remote -v\n\norigin    git@github.com:octocat\u002Fmy-full-stack.git (fetch)\norigin    git@github.com:octocat\u002Fmy-full-stack.git (push)\nupstream    git@github.com:fastapi\u002Ffull-stack-fastapi-template.git (fetch)\nupstream    git@github.com:fastapi\u002Ffull-stack-fastapi-template.git (push)\n```\n\n- Pull the latest changes without merging:\n\n```bash\ngit pull --no-commit upstream master\n```\n\nThis will download the latest changes from this template without committing them, that way you can check everything is right before committing.\n\n- If there are conflicts, solve them in your editor.\n\n- Once you are done, commit the changes:\n\n```bash\ngit merge --continue\n```\n\n### Configure\n\nYou can then update configs in the `.env` files to customize your configurations.\n\nBefore deploying it, make sure you change at least the values for:\n\n- `SECRET_KEY`\n- `FIRST_SUPERUSER_PASSWORD`\n- `POSTGRES_PASSWORD`\n\nYou can (and should) pass these as environment variables from secrets.\n\nRead the [deployment.md](.\u002Fdeployment.md) docs for more details.\n\n### Generate Secret Keys\n\nSome environment variables in the `.env` file have a default value of `changethis`.\n\nYou have to change them with a secret key, to generate secret keys you can run the following command:\n\n```bash\npython -c \"import secrets; print(secrets.token_urlsafe(32))\"\n```\n\nCopy the content and use that as password \u002F secret key. And run that again to generate another secure key.\n\n## How To Use It - Alternative With Copier\n\nThis repository also supports generating a new project using [Copier](https:\u002F\u002Fcopier.readthedocs.io).\n\nIt will copy all the files, ask you configuration questions, and update the `.env` files with your answers.\n\n### Install Copier\n\nYou can install Copier with:\n\n```bash\npip install copier\n```\n\nOr better, if you have [`pipx`](https:\u002F\u002Fpipx.pypa.io\u002F), you can run it with:\n\n```bash\npipx install copier\n```\n\n**Note**: If you have `pipx`, installing copier is optional, you could run it directly.\n\n### Generate a Project With Copier\n\nDecide a name for your new project's directory, you will use it below. For example, `my-awesome-project`.\n\nGo to the directory that will be the parent of your project, and run the command with your project's name:\n\n```bash\ncopier copy https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template my-awesome-project --trust\n```\n\nIf you have `pipx` and you didn't install `copier`, you can run it directly:\n\n```bash\npipx run copier copy https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template my-awesome-project --trust\n```\n\n**Note** the `--trust` option is necessary to be able to execute a [post-creation script](https:\u002F\u002Fgithub.com\u002Ffastapi\u002Ffull-stack-fastapi-template\u002Fblob\u002Fmaster\u002F.copier\u002Fupdate_dotenv.py) that updates your `.env` files.\n\n### Input Variables\n\nCopier will ask you for some data, you might want to have at hand before generating the project.\n\nBut don't worry, you can just update any of that in the `.env` files afterwards.\n\nThe input variables, with their default values (some auto generated) are:\n\n- `project_name`: (default: `\"FastAPI Project\"`) The name of the project, shown to API users (in .env).\n- `stack_name`: (default: `\"fastapi-project\"`) The name of the stack used for Docker Compose labels and project name (no spaces, no periods) (in .env).\n- `secret_key`: (default: `\"changethis\"`) The secret key for the project, used for security, stored in .env, you can generate one with the method above.\n- `first_superuser`: (default: `\"admin@example.com\"`) The email of the first superuser (in .env).\n- `first_superuser_password`: (default: `\"changethis\"`) The password of the first superuser (in .env).\n- `smtp_host`: (default: \"\") The SMTP server host to send emails, you can set it later in .env.\n- `smtp_user`: (default: \"\") The SMTP server user to send emails, you can set it later in .env.\n- `smtp_password`: (default: \"\") The SMTP server password to send emails, you can set it later in .env.\n- `emails_from_email`: (default: `\"info@example.com\"`) The email account to send emails from, you can set it later in .env.\n- `postgres_password`: (default: `\"changethis\"`) The password for the PostgreSQL database, stored in .env, you can generate one with the method above.\n- `sentry_dsn`: (default: \"\") The DSN for Sentry, if you are using it, you can set it later in .env.\n\n## Backend Development\n\nBackend docs: [backend\u002FREADME.md](.\u002Fbackend\u002FREADME.md).\n\n## Frontend Development\n\nFrontend docs: [frontend\u002FREADME.md](.\u002Ffrontend\u002FREADME.md).\n\n## Deployment\n\nDeployment docs: [deployment.md](.\u002Fdeployment.md).\n\n## Development\n\nGeneral development docs: [development.md](.\u002Fdevelopment.md).\n\nThis includes using Docker Compose, custom local domains, `.env` configurations, etc.\n\n## Release Notes\n\nCheck the file [release-notes.md](.\u002Frelease-notes.md).\n\n## License\n\nThe Full Stack FastAPI Template is licensed under the terms of the MIT license.\n","该项目是一个全栈现代Web应用模板，使用了FastAPI、React、SQLModel、PostgreSQL、Docker等技术。核心功能包括前后端分离架构，后端采用FastAPI框架配合SQLModel进行数据库交互，并支持JWT认证与安全密码哈希；前端基于React构建，集成TypeScript和Tailwind CSS以提供良好的开发体验及响应式设计。此外，项目还配置了Docker Compose便于部署，以及通过GitHub Actions实现持续集成与交付流程。适用于需要快速搭建具有完整功能的Web应用程序场景，如企业内部管理系统或面向公众的服务平台。","2026-06-11 02:41:26","top_all"]