Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
739 commits
Select commit Hold shift + click to select a range
84ef657
🐛 Fix local Traefik proxy network config to fix Gateway Timeouts (#1184)
Apr 26, 2024
cd462c0
📝 Update release notes
invalid-email-address Apr 26, 2024
f11bec6
🔥 Remove duplicated code (#1185)
alejsdev Apr 26, 2024
72cd3c9
📝 Update release notes
invalid-email-address Apr 26, 2024
d31245d
Bump idna from 3.6 to 3.7 in /backend (#1168)
dependabot[bot] Apr 28, 2024
a2626b2
📝 Update release notes
invalid-email-address Apr 28, 2024
91062a1
Bump gunicorn from 21.2.0 to 22.0.0 in /backend (#1176)
dependabot[bot] Apr 28, 2024
d86e68f
📝 Update release notes
invalid-email-address Apr 28, 2024
88a5c64
📝 Add `Enabling Open User Registration` to backend docs (#1191)
alejsdev May 3, 2024
f0e8571
📝 Update release notes
invalid-email-address May 3, 2024
8f6e8c9
🔧 Update Node.js version in `.nvmrc` (#1192)
alejsdev May 3, 2024
1197f2b
📝 Update release notes
invalid-email-address May 3, 2024
d0654b0
✏️ Fix Adminer URL in deployment.md (#1194)
PhilippWu May 4, 2024
a7f4d7d
📝 Update release notes
invalid-email-address May 4, 2024
f9a1ac7
👷 Update Smokeshow download artifact GitHub Action (#1198)
tiangolo May 10, 2024
9057631
📝 Update release notes
invalid-email-address May 10, 2024
a7202bf
⬆️ Bump jinja2 from 3.1.3 to 3.1.4 in /backend (#1196)
dependabot[bot] May 14, 2024
13f4e84
📝 Update release notes
invalid-email-address May 14, 2024
ef1f64b
🔒️ Refactor migrate from python-jose to PyJWT (#1203)
estebanx64 May 15, 2024
6b3930f
📝 Update release notes
invalid-email-address May 15, 2024
a1dee4d
✏️ Update `README.md` (#1205)
Craz1k0ek May 16, 2024
c801914
📝 Update release notes
invalid-email-address May 16, 2024
9c8c9c6
♻️ Refactor redirect labels to simplify removing the frontend (#1208)
tiangolo May 19, 2024
eaa4437
📝 Update release notes
invalid-email-address May 19, 2024
44ed5b1
🚚 Move assets to public folder (#1206)
alejsdev May 20, 2024
7f7c08e
📝 Update release notes
invalid-email-address May 20, 2024
4754849
⚒️ Add minor frontend tweaks (#1210)
alejsdev May 20, 2024
bf04594
📝 Update release notes
invalid-email-address May 20, 2024
df51c2e
⬆️ Bump requests from 2.31.0 to 2.32.0 in /backend (#1211)
dependabot[bot] May 23, 2024
bd8b503
📝 Update release notes
invalid-email-address May 23, 2024
0eb5e18
🐛 Fix welcome page to show logged-in user (#1218)
tomerb Jun 1, 2024
9ad8f57
📝 Update release notes
invalid-email-address Jun 1, 2024
1bf057b
✨ Add TanStack React Query devtools in dev build (#1217)
tomerb Jun 1, 2024
e66aa0e
📝 Update release notes
invalid-email-address Jun 1, 2024
649a7da
📝 Update release-notes.md (#1220)
alejsdev Jun 1, 2024
90aa3dc
📝 Update release notes
invalid-email-address Jun 1, 2024
2f0a682
♻️ Update client services (#1223)
alejsdev Jun 5, 2024
0b16db4
📝 Update release notes
invalid-email-address Jun 5, 2024
ef76179
♻️ Update DeleteConfirmation component to use new service (#1224)
alejsdev Jun 5, 2024
df66c1d
📝 Update release notes
invalid-email-address Jun 5, 2024
d421c90
🗃️ Add max_length validation for database models and input data (#1233)
estebanx64 Jun 19, 2024
e20c35d
📝 Update release notes
invalid-email-address Jun 19, 2024
dbf3899
⬆️ Upgrade Traefik (#1241)
tiangolo Jun 26, 2024
db7d06b
📝 Update release notes
invalid-email-address Jun 26, 2024
dda7934
✨ Introduce pagination in items (#1239)
patrick91 Jun 27, 2024
dabeff7
📝 Update release notes
invalid-email-address Jun 27, 2024
960a38a
🎨 Run biome after OpenAPI client generation (#1226)
tomerb Jun 27, 2024
7a4f98c
📝 Update release notes
invalid-email-address Jun 27, 2024
a578dff
🎨 Format and lint (#1243)
alejsdev Jun 27, 2024
92a3480
📝 Update release notes
invalid-email-address Jun 27, 2024
3865627
♻️ Refactor recover password (#1242)
alejsdev Jun 28, 2024
91c3533
📝 Update release notes
invalid-email-address Jun 28, 2024
8b8f069
✨ Add mailcatcher configuration (#1244)
patrick91 Jun 30, 2024
763afde
📝 Update release notes
invalid-email-address Jun 30, 2024
8ba2459
♻️ Update login.tsx to prevent error if username or password are empt…
jmondaud Jul 18, 2024
8faf5c9
📝 Update release notes
invalid-email-address Jul 18, 2024
c38581c
♻️ Abstraction of specific AddModal component out of the Navbar (#1246)
ajbloureiro Jul 18, 2024
a38afb4
📝 Update release notes
invalid-email-address Jul 18, 2024
2ed7a08
🎨 Format frontend (#1262)
alejsdev Jul 22, 2024
68ef020
📝 Update release notes
invalid-email-address Jul 22, 2024
6e1c888
♻️ Replace deprecated utcnow() with now(timezone.utc) in utils module…
jalvarezz13 Jul 22, 2024
d821905
📝 Update release notes
invalid-email-address Jul 22, 2024
5384918
⬆️ Bump urllib3 from 2.2.1 to 2.2.2 in /backend (#1235)
dependabot[bot] Jul 22, 2024
5d6a109
📝 Update release notes
invalid-email-address Jul 22, 2024
e31537c
⬆️ Bump certifi from 2024.2.2 to 2024.7.4 in /backend (#1250)
dependabot[bot] Jul 22, 2024
ded08f6
📝 Update release notes
invalid-email-address Jul 22, 2024
c6457cb
⬆️ Bump setuptools from 69.1.1 to 70.0.0 in /backend (#1255)
dependabot[bot] Jul 22, 2024
b79c7c8
📝 Update release notes
invalid-email-address Jul 22, 2024
e15831c
♻️ Update form inputs width (#1263)
alejsdev Jul 22, 2024
cc480df
📝 Update release notes
invalid-email-address Jul 22, 2024
e65b427
♻️ Edit refactor db models to use UUID's instead of integer ID's (#1259)
estebanx64 Jul 22, 2024
ddd4b1d
📝 Update release notes
invalid-email-address Jul 22, 2024
000580d
✨ Add initial setup for frontend / end-to-end tests with Playwright (…
alejsdev Jul 22, 2024
3c38ad1
📝 Update release notes
invalid-email-address Jul 22, 2024
a6fbe9d
✨ Add Login e2e tests (#1264)
alejsdev Jul 22, 2024
7a9920a
📝 Update release notes
invalid-email-address Jul 22, 2024
c147a95
✨ Add Sign Up and make `OPEN_USER_REGISTRATION=True` by default (#1265)
alejsdev Jul 23, 2024
aff2146
📝 Update release notes
invalid-email-address Jul 23, 2024
06a2ec8
🔧 Update Playwright config and tests to use env variables (#1266)
alejsdev Jul 23, 2024
41999a6
📝 Update release notes
invalid-email-address Jul 23, 2024
8f70048
✨ Add Sign Up e2e tests (#1268)
alejsdev Jul 29, 2024
68b86b1
📝 Update release notes
invalid-email-address Jul 29, 2024
1e9e561
✨ Add Reset Password e2e tests (#1270)
alejsdev Jul 30, 2024
b15d482
📝 Update release notes
invalid-email-address Jul 30, 2024
b5b2929
🔧 Reuse database url from config in alembic setup (#1229)
patrick91 Jul 30, 2024
c8b1b3a
📝 Update release notes
invalid-email-address Jul 30, 2024
8efef66
✨ Add User Settings e2e tests (#1271)
alejsdev Jul 30, 2024
7bba5a8
📝 Update release notes
invalid-email-address Jul 30, 2024
1f68668
🔥 Remove `USERS_OPEN_REGISTRATION` config, make registration enabled …
alejsdev Jul 31, 2024
6606bfc
📝 Update release notes
invalid-email-address Jul 31, 2024
684256a
⬆️ Update SQLModel to version `>=0.0.21` (#1275)
alejsdev Jul 31, 2024
11e165f
📝 Update release notes
invalid-email-address Jul 31, 2024
5d21a26
👷 Update issue-manager.yml GitHub Action permissions (#1278)
tiangolo Aug 1, 2024
d4ae12c
📝 Update release notes
invalid-email-address Aug 1, 2024
269040d
♻️ Refactor models to use cascade delete relationships (#1276)
alejsdev Aug 1, 2024
17e4fb9
📝 Update release notes
invalid-email-address Aug 1, 2024
ed61369
♻️ Add random password util and refactor tests (#1277)
alejsdev Aug 1, 2024
d9a21d3
📝 Update release notes
invalid-email-address Aug 1, 2024
9e0146c
📝 Add End-to-End Testing with Playwright to frontend `README.md` (#1279)
alejsdev Aug 1, 2024
93e83c1
📝 Update release notes
invalid-email-address Aug 1, 2024
b905768
♻️ Tweaks in frontend (#1273)
alejsdev Aug 1, 2024
19049f2
📝 Update release notes
invalid-email-address Aug 1, 2024
3676734
♻️ Regenerate client to use UUID instead of id integers and update fr…
rehanabdul Aug 1, 2024
1b5dd13
📝 Update release notes
invalid-email-address Aug 1, 2024
2b2eefc
🚨 Fix Docker build warning (#1283)
erip Aug 2, 2024
bb5732d
📝 Update release notes
invalid-email-address Aug 2, 2024
14c09b9
🔧 Update deploy workflows to exclude the main repository (#1284)
alejsdev Aug 2, 2024
9ce8526
📝 Update release notes
invalid-email-address Aug 2, 2024
8ce3ce5
📝 Update links from tiangolo repo to fastapi org repo (#1285)
tiangolo Aug 2, 2024
a999734
📝 Update release notes
invalid-email-address Aug 2, 2024
af08676
🔖 Release version 0.7.0
tiangolo Aug 2, 2024
df94e73
👷 Update issue-manager (#1288)
tiangolo Aug 3, 2024
7a6107f
📝 Update release notes
invalid-email-address Aug 3, 2024
e46ba68
👷 Add GitHub Action add-to-project (#1297)
tiangolo Aug 13, 2024
ee82165
📝 Update release notes
invalid-email-address Aug 13, 2024
b4c34c6
👷 Add GitHub Action labeler (#1298)
tiangolo Aug 13, 2024
572f513
📝 Update release notes
invalid-email-address Aug 13, 2024
974340c
♻️ Remove duplicated information in the ItemCreate model (#1287)
jjaakko Aug 13, 2024
7351d21
📝 Update release notes
invalid-email-address Aug 13, 2024
10c6cc7
👷 Add GitHub Action label-checker (#1299)
tiangolo Aug 13, 2024
cdf9a65
📝 Update release notes
invalid-email-address Aug 13, 2024
4b92856
👷 Update GitHub Action labeler permissions (#1300)
tiangolo Aug 13, 2024
9727145
📝 Update release notes
invalid-email-address Aug 13, 2024
d275c62
👷 Update GitHub Action labeler dependencies (#1302)
tiangolo Aug 14, 2024
79ed422
📝 Update release notes
invalid-email-address Aug 14, 2024
5a13869
:arrow_up: Bump axios from 1.6.2 to 1.7.4 in /frontend (#1301)
dependabot[bot] Aug 14, 2024
0f082d1
📝 Update release notes
invalid-email-address Aug 14, 2024
de57a7b
👷 Update GitHub Action labeler to add only one label (#1304)
tiangolo Aug 14, 2024
6eff776
📝 Update release notes
invalid-email-address Aug 14, 2024
d7d245a
👷 Do not sync labels as it overrides manually added labels (#1307)
tiangolo Aug 15, 2024
66c4ff1
📝 Update release notes
invalid-email-address Aug 15, 2024
8187a52
👷 Update configs for labeler (#1308)
tiangolo Aug 15, 2024
65c66f2
📝 Update release notes
invalid-email-address Aug 15, 2024
77040ad
📝 Add Email Templates to `backend/README.md` (#1311)
alejsdev Aug 17, 2024
5005e5a
📝 Update release notes
invalid-email-address Aug 17, 2024
375170c
👷 Update `latest-changes` GitHub Action (#1315)
tiangolo Aug 26, 2024
05bc141
📝 Update release notes
invalid-email-address Aug 26, 2024
2fb7354
👷 Update `.github/labeler.yml` (#1321)
alejsdev Aug 29, 2024
90e3e33
📝 Update release notes
invalid-email-address Aug 29, 2024
644de7f
🐛 Fix in `.github/labeler.yml` (#1322)
alejsdev Aug 29, 2024
e8c73ff
📝 Update release notes
invalid-email-address Aug 29, 2024
bbad34a
👷🏻 Auto-generate frontend client (#1320)
alejsdev Aug 29, 2024
33b379b
📝 Update release notes
invalid-email-address Aug 29, 2024
2241d75
set include-hidden-files to true for actions/upload-artifact@v4 (#1327)
svlandeg Sep 2, 2024
ad35807
📝 Update release notes
invalid-email-address Sep 2, 2024
4af652a
👷 Update `issue-manager.yml` (#1329)
tiangolo Sep 7, 2024
b3a49ae
📝 Update release notes
invalid-email-address Sep 7, 2024
97d04cd
👷 Improve playwright CI job (#1335)
patrick91 Sep 12, 2024
46ac6a3
📝 Update release notes
invalid-email-address Sep 12, 2024
18a5cb2
🔥 Enable support for Arm Docker images in Mac, remove old patch (#1341)
tiangolo Sep 16, 2024
eb88b52
📝 Update release notes
invalid-email-address Sep 16, 2024
8a8a904
🩺 Add DB healthcheck (#1342)
tiangolo Sep 16, 2024
07b568b
📝 Update release notes
invalid-email-address Sep 16, 2024
2062b5b
🔥 Simplify Traefik, remove www-redirects that add complexity (#1343)
tiangolo Sep 16, 2024
110a59c
📝 Update release notes
invalid-email-address Sep 16, 2024
79d240f
♻️ Simplify domains with `api.example.com` for API and `dashboard.exa…
tiangolo Sep 19, 2024
a292dbe
📝 Update release notes
invalid-email-address Sep 19, 2024
e64c910
♻️ Include `FRONTEND_HOST` in CORS origins by default (#1348)
tiangolo Sep 20, 2024
44ff573
📝 Update release notes
invalid-email-address Sep 20, 2024
889a9bf
⬆️ Upgrade FastAPI (#1349)
tiangolo Sep 20, 2024
d87b639
📝 Update release notes
invalid-email-address Sep 20, 2024
8fe66c1
♻️ Refactor prestart (migrations), move that to its own container (#1…
tiangolo Sep 20, 2024
68a7fe0
📝 Update release notes
invalid-email-address Sep 20, 2024
87254dd
🚚 Move location of scripts to simplify file structure (#1352)
tiangolo Sep 22, 2024
224d0e3
📝 Update release notes
invalid-email-address Sep 22, 2024
6516439
🔧 Use plain base official Python Docker image (#1351)
tiangolo Sep 22, 2024
b262c20
📝 Update release notes
invalid-email-address Sep 22, 2024
4cd67f3
♻️ Use Docker Compose `watch` (#1354)
tiangolo Sep 22, 2024
7ed8694
📝 Update release notes
invalid-email-address Sep 22, 2024
c8104d8
🔥 Remove logic for development dependencies and Jupyter, it was never…
tiangolo Sep 23, 2024
fa97b37
📝 Update release notes
invalid-email-address Sep 23, 2024
8104827
⬆️ Migrate from Poetry to uv (#1356)
tiangolo Sep 23, 2024
4b6fb7c
📝 Update release notes
invalid-email-address Sep 23, 2024
4fc9610
💡 Add comments to Dockerfile with uv references (#1357)
tiangolo Sep 23, 2024
8d9af8c
📝 Update release notes
invalid-email-address Sep 23, 2024
0435937
👷 Add GitHub Actions workflow to lint backend apart from tests (#1358)
tiangolo Sep 23, 2024
6fc03d1
📝 Update release notes
invalid-email-address Sep 23, 2024
d2020c1
♻️ Update settings to use top level `.env` file (#1359)
tiangolo Sep 23, 2024
55ad3b2
📝 Update release notes
invalid-email-address Sep 23, 2024
9b2e581
🔨 Update `generate-client.sh` script, make it fail on errors, fix gen…
tiangolo Sep 23, 2024
b3a7794
📝 Update release notes
invalid-email-address Sep 23, 2024
39325ad
👷 Run tests from Python environment (with `uv`), not from Docker cont…
tiangolo Sep 23, 2024
6ed7aee
📝 Update release notes
invalid-email-address Sep 23, 2024
284527b
👷 Use `uv` for Python env to generate client (#1362)
tiangolo Sep 23, 2024
cdc7b50
📝 Update release notes
invalid-email-address Sep 23, 2024
32227c4
👷 Update GitHub Actions format (#1363)
tiangolo Sep 23, 2024
1f666c4
📝 Update release notes
invalid-email-address Sep 23, 2024
9112235
👷 Use uv cache on GitHub Actions (#1366)
tiangolo Sep 24, 2024
451c656
📝 Update release notes
invalid-email-address Sep 24, 2024
7e5ca88
🔖 Release version 0.7.1
tiangolo Sep 27, 2024
c297e9e
👷 Generate and commit client only on same repo PRs, on forks, show th…
tiangolo Sep 27, 2024
6a8fc24
📝 Update release notes
invalid-email-address Sep 27, 2024
08dd87d
💡 Remove unnecessary comment (#1260)
sebhani Sep 27, 2024
1030118
📝 Update release notes
invalid-email-address Sep 27, 2024
38843cb
👷 Tweak generate client to error out if there are errors (#1377)
tiangolo Sep 27, 2024
109a745
📝 Update release notes
invalid-email-address Sep 27, 2024
945fbc7
🔧 Run task by the same Python environment used to run Copier (#1157)
waketzheng Sep 27, 2024
b67fb44
📝 Update release notes
invalid-email-address Sep 27, 2024
fe7f4f7
🔧 Add `ENV PYTHONUNBUFFERED=1` to log output directly to Docker (#1378)
tiangolo Sep 27, 2024
b9ec194
📝 Update release notes
invalid-email-address Sep 27, 2024
3136437
⬆ Bump tiangolo/issue-manager from 0.5.0 to 0.5.1 (#1332)
dependabot[bot] Sep 27, 2024
ab0d1bb
📝 Update release notes
invalid-email-address Sep 27, 2024
3793150
👷 Update pre-commit end-of-file-fixer hook to exclude email-templates…
goabonga Sep 27, 2024
4d5b0a0
📝 Update release notes
invalid-email-address Sep 27, 2024
2939b77
⬆ Bump astral-sh/setup-uv from 2 to 3 (#1364)
dependabot[bot] Sep 27, 2024
ddb4235
🔊 Enable logging for email utils by default (#1374)
ihmily Sep 27, 2024
721a44a
📝 Update release notes
invalid-email-address Sep 27, 2024
79883c8
📝 Update release notes
invalid-email-address Sep 27, 2024
172bfd9
♻️ Refactored code to use encryption algorithm name from settings for…
sameeramin Sep 27, 2024
0a5f102
📝 Update release notes
invalid-email-address Sep 27, 2024
6047623
⬆️ Bump rollup from 4.6.1 to 4.22.5 in /frontend (#1379)
dependabot[bot] Sep 30, 2024
88e1a60
📝 Update release notes
invalid-email-address Sep 30, 2024
8d52d01
♻️ Add PaginationFooter component (#1381)
saltie2193 Oct 3, 2024
372c9f8
📝 Update release notes
invalid-email-address Oct 3, 2024
1c3e464
🔧 Add .auth playwright folder to .gitignore (#1383)
justin-p Oct 3, 2024
67e3f35
📝 Update release notes
invalid-email-address Oct 3, 2024
86d2fcc
👷 Update `labeler.yml` (#1388)
tiangolo Oct 7, 2024
db7ea2c
📝 Update release notes
invalid-email-address Oct 7, 2024
12a13b4
📝 Add MailCatcher to `development.md` (#1387)
tobiase Oct 12, 2024
f5612ed
📝 Update release notes
invalid-email-address Oct 12, 2024
a2e3a8a
👷 Fix smokeshow, checkout files on CI (#1395)
tiangolo Oct 12, 2024
6768359
📝 Update release notes
invalid-email-address Oct 12, 2024
c23c91b
👷 Update issue manager workflow (#1398)
alejsdev Oct 14, 2024
d3d370c
📝 Update release notes
invalid-email-address Oct 14, 2024
e684f3c
👷 Improve Playwright CI speed: sharding (paralel runs), run in Docker…
tiangolo Oct 25, 2024
24c4f13
📝 Update release notes
invalid-email-address Oct 25, 2024
61fa943
📝 Update `deployment.md`, instructions to install GitHub Runner in no…
tiangolo Nov 1, 2024
3aad3fb
📝 Update release notes
invalid-email-address Nov 1, 2024
19764d5
⬆ Bump tiangolo/latest-changes from 0.3.1 to 0.3.2 (#1418)
dependabot[bot] Nov 8, 2024
e345273
📝 Update release notes
invalid-email-address Nov 8, 2024
a21c57a
✨ Migrate to latest openapi-ts (#1430)
patrick91 Nov 27, 2024
b7d2df2
📝 Update release notes
invalid-email-address Nov 27, 2024
953e9e5
♻️ Remove modify id script in favor of openapi-ts config (#1434)
patrick91 Nov 27, 2024
414864d
📝 Update release notes
invalid-email-address Nov 27, 2024
14129f7
✨ Add private, local only, API for usage in E2E tests (#1429)
patrick91 Dec 2, 2024
aa71abe
📝 Update release notes
invalid-email-address Dec 2, 2024
3083207
🎨 Move `prefix` and `tags` to routers (#1439)
patrick91 Dec 2, 2024
b0f6195
📝 Update release notes
invalid-email-address Dec 2, 2024
3e6ed01
⬆ Bump astral-sh/setup-uv from 3 to 4 (#1433)
dependabot[bot] Dec 10, 2024
88c83cc
📝 Update release notes
invalid-email-address Dec 10, 2024
b95dea6
⬆ Bump astral-sh/setup-uv from 4 to 5 (#1453)
dependabot[bot] Dec 21, 2024
98a2d7d
📝 Update release notes
invalid-email-address Dec 21, 2024
87afb07
📝 Update frontend/README.md to also remove Playwright when removing F…
youben11 Dec 21, 2024
d4df197
📝 Update release notes
invalid-email-address Dec 21, 2024
846dd9e
⬆️ Update Dockerfile to use uv version 0.5.11 (#1454)
alejsdev Jan 5, 2025
2d553dd
📝 Update release notes
invalid-email-address Jan 5, 2025
c754a00
🧑‍🔧 Replace correct value for 'htmlFor' (#1456)
wesenbergg Jan 6, 2025
ba1706b
📝 Update release notes
invalid-email-address Jan 6, 2025
d7fa8d4
fix bug: reset-password get token subject email
Jan 23, 2025
9ab81d4
fix typo: .env
Jan 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .copier/.copier-answers.yml.jinja
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ _copier_answers|to_json -}}
26 changes: 26 additions & 0 deletions .copier/update_dotenv.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from pathlib import Path
import json

# Update the .env file with the answers from the .copier-answers.yml file
# without using Jinja2 templates in the .env file, this way the code works as is
# without needing Copier, but if Copier is used, the .env file will be updated
root_path = Path(__file__).parent.parent
answers_path = Path(__file__).parent / ".copier-answers.yml"
answers = json.loads(answers_path.read_text())
env_path = root_path / ".env"
env_content = env_path.read_text()
lines = []
for line in env_content.splitlines():
for key, value in answers.items():
upper_key = key.upper()
if line.startswith(f"{upper_key}="):
if " " in value:
content = f"{upper_key}={value!r}"
else:
content = f"{upper_key}={value}"
new_line = line.replace(line, content)
lines.append(new_line)
break
else:
lines.append(line)
env_path.write_text("\n".join(lines))
45 changes: 45 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Domain
# This would be set to the production domain with an env var on deployment
# used by Traefik to transmit traffic and acquire TLS certificates
DOMAIN=localhost
# To test the local Traefik config
# DOMAIN=localhost.tiangolo.com

# Used by the backend to generate links in emails to the frontend
FRONTEND_HOST=http://localhost:5173
# In staging and production, set this env var to the frontend host, e.g.
# FRONTEND_HOST=https://dashboard.example.com

# Environment: local, staging, production
ENVIRONMENT=local

PROJECT_NAME="Full Stack FastAPI Project"
STACK_NAME=full-stack-fastapi-project

# Backend
BACKEND_CORS_ORIGINS="http://localhost,http://localhost:5173,https://localhost,https://localhost:5173,http://localhost.tiangolo.com"
SECRET_KEY=changethis
[email protected]
FIRST_SUPERUSER_PASSWORD=changethis

# Emails
SMTP_HOST=
SMTP_USER=
SMTP_PASSWORD=
[email protected]
SMTP_TLS=True
SMTP_SSL=False
SMTP_PORT=587

# Postgres
POSTGRES_SERVER=localhost
POSTGRES_PORT=5432
POSTGRES_DB=app
POSTGRES_USER=postgres
POSTGRES_PASSWORD=changethis

SENTRY_DSN=

# Configure these with your own Docker registry images
DOCKER_IMAGE_BACKEND=backend
DOCKER_IMAGE_FRONTEND=frontend
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* text=auto
*.sh text eol=lf
118 changes: 118 additions & 0 deletions .github/DISCUSSION_TEMPLATE/questions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
labels: [question]
body:
- type: markdown
attributes:
value: |
Thanks for your interest in this project! 🚀
Please follow these instructions, fill every question, and do every step. 🙏
I'm asking this because answering questions and solving problems in GitHub is what consumes most of the time.
I end up not being able to add new features, fix bugs, review pull requests, etc. as fast as I wish because I have to spend too much time handling questions.
All that, on top of all the incredible help provided by a bunch of community members, that give a lot of their time to come here and help others.
That's a lot of work, but if more users came to help others like them just a little bit more, it would be much less effort for them (and you and me 😅).
By asking questions in a structured way (following this) it will be much easier to help you.
And there's a high chance that you will find the solution along the way and you won't even have to submit it and wait for an answer. 😎
As there are too many questions, I'll have to discard and close the incomplete ones. That will allow me (and others) to focus on helping people like you that follow the whole process and help us help you. 🤓
- type: checkboxes
id: checks
attributes:
label: First Check
description: Please confirm and check all the following options.
options:
- label: I added a very descriptive title here.
required: true
- label: I used the GitHub search to find a similar question and didn't find it.
required: true
- label: I searched in the documentation/README.
required: true
- label: I already searched in Google "How to do X" and didn't find any information.
required: true
- label: I already read and followed all the tutorial in the docs/README and didn't find an answer.
required: true
- type: checkboxes
id: help
attributes:
label: Commit to Help
description: |
After submitting this, I commit to one of:
* Read open questions until I find 2 where I can help someone and add a comment to help there.
* I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
options:
- label: I commit to help with one of those options 👆
required: true
- type: textarea
id: example
attributes:
label: Example Code
description: |
Please add a self-contained, [minimal, reproducible, example](https://stackoverflow.com/help/minimal-reproducible-example) with your use case.
If I (or someone) can copy it, run it, and see it right away, there's a much higher chance I (or someone) will be able to help you.
placeholder: |
Write your example code here.
render: Text
validations:
required: true
- type: textarea
id: description
attributes:
label: Description
description: |
What is the problem, question, or error?
Write a short description telling me what you are doing, what you expect to happen, and what is currently happening.
placeholder: |
* Open the browser and call the endpoint `/`.
* It returns a JSON with `{"message": "Hello World"}`.
* But I expected it to return `{"message": "Hello Morty"}`.
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
description: What operating system are you on?
multiple: true
options:
- Linux
- Windows
- macOS
- Other
validations:
required: true
- type: textarea
id: os-details
attributes:
label: Operating System Details
description: You can add more details about your operating system here, in particular if you chose "Other".
validations:
required: true
- type: input
id: python-version
attributes:
label: Python Version
description: |
What Python version are you using?
You can find the Python version with:
```bash
python --version
```
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional Context
description: Add any additional context information or screenshots you think are useful.
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
github: [tiangolo]
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
blank_issues_enabled: false
contact_links:
- name: Security Contact
about: Please report security vulnerabilities to [email protected]
- name: Question or Problem
about: Ask a question or ask about a problem in GitHub Discussions.
url: https://github.com/fastapi/full-stack-fastapi-template/discussions/categories/questions
- name: Feature Request
about: To suggest an idea or ask about a feature, please start with a question saying what you would like to achieve. There might be a way to do it already.
url: https://github.com/fastapi/full-stack-fastapi-template/discussions/categories/questions
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/privileged.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Privileged
description: You are @tiangolo or he asked you directly to create an issue here. If not, check the other options. 👇
body:
- type: markdown
attributes:
value: |
Thanks for your interest in this project! 🚀
If you are not @tiangolo or he didn't ask you directly to create an issue here, please start the conversation in a [Question in GitHub Discussions](https://github.com/tiangolo/full-stack-fastapi-template/discussions/categories/questions) instead.
- type: checkboxes
id: privileged
attributes:
label: Privileged issue
description: Confirm that you are allowed to create an issue here.
options:
- label: I'm @tiangolo or he asked me directly to create an issue here.
required: true
- type: textarea
id: content
attributes:
label: Issue Content
description: Add the content of the issue here.
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
# GitHub Actions
- package-ecosystem: github-actions
directory: /
schedule:
interval: daily
commit-message:
prefix: ⬆
# Python
- package-ecosystem: pip
directory: /
schedule:
interval: daily
commit-message:
prefix: ⬆
25 changes: 25 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
docs:
- all:
- changed-files:
- any-glob-to-any-file:
- '**/*.md'
- all-globs-to-all-files:
- '!frontend/**'
- '!backend/**'
- '!.github/**'
- '!scripts/**'
- '!.gitignore'
- '!.pre-commit-config.yaml'

internal:
- all:
- changed-files:
- any-glob-to-any-file:
- .github/**
- scripts/**
- .gitignore
- .pre-commit-config.yaml
- all-globs-to-all-files:
- '!./**/*.md'
- '!frontend/**'
- '!backend/**'
18 changes: 18 additions & 0 deletions .github/workflows/add-to-project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Add to Project

on:
pull_request_target:
issues:
types:
- opened
- reopened

jobs:
add-to-project:
name: Add to project
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
project-url: https://github.com/orgs/fastapi/projects/2
github-token: ${{ secrets.PROJECTS_TOKEN }}
32 changes: 32 additions & 0 deletions .github/workflows/deploy-production.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Deploy to Production

on:
release:
types:
- published

jobs:
deploy:
# Do not deploy in the main repository, only in user projects
if: github.repository_owner != 'fastapi'
runs-on:
- self-hosted
- production
env:
ENVIRONMENT: production
DOMAIN: ${{ secrets.DOMAIN_PRODUCTION }}
STACK_NAME: ${{ secrets.STACK_NAME_PRODUCTION }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
FIRST_SUPERUSER: ${{ secrets.FIRST_SUPERUSER }}
FIRST_SUPERUSER_PASSWORD: ${{ secrets.FIRST_SUPERUSER_PASSWORD }}
SMTP_HOST: ${{ secrets.SMTP_HOST }}
SMTP_USER: ${{ secrets.SMTP_USER }}
SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
EMAILS_FROM_EMAIL: ${{ secrets.EMAILS_FROM_EMAIL }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
steps:
- name: Checkout
uses: actions/checkout@v4
- run: docker compose -f docker-compose.yml --project-name ${{ secrets.STACK_NAME_PRODUCTION }} build
- run: docker compose -f docker-compose.yml --project-name ${{ secrets.STACK_NAME_PRODUCTION }} up -d
32 changes: 32 additions & 0 deletions .github/workflows/deploy-staging.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Deploy to Staging

on:
push:
branches:
- master

jobs:
deploy:
# Do not deploy in the main repository, only in user projects
if: github.repository_owner != 'fastapi'
runs-on:
- self-hosted
- staging
env:
ENVIRONMENT: staging
DOMAIN: ${{ secrets.DOMAIN_STAGING }}
STACK_NAME: ${{ secrets.STACK_NAME_STAGING }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
FIRST_SUPERUSER: ${{ secrets.FIRST_SUPERUSER }}
FIRST_SUPERUSER_PASSWORD: ${{ secrets.FIRST_SUPERUSER_PASSWORD }}
SMTP_HOST: ${{ secrets.SMTP_HOST }}
SMTP_USER: ${{ secrets.SMTP_USER }}
SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
EMAILS_FROM_EMAIL: ${{ secrets.EMAILS_FROM_EMAIL }}
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
steps:
- name: Checkout
uses: actions/checkout@v4
- run: docker compose -f docker-compose.yml --project-name ${{ secrets.STACK_NAME_STAGING }} build
- run: docker compose -f docker-compose.yml --project-name ${{ secrets.STACK_NAME_STAGING }} up -d
Loading
Loading