11# Full Stack FastAPI Template
22
3- <a href =" https://github.com/fastapi/full-stack-fastapi-template/actions?query=workflow%3ATest " target =" _blank " ><img src =" https://github.com/fastapi/full-stack-fastapi-template/workflows/Test/badge.svg " alt =" Test " ></a >
4- <a href =" https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/full-stack-fastapi-template " target =" _blank " ><img src =" https://coverage-badge.samuelcolvin.workers.dev/fastapi/full-stack-fastapi-template.svg " alt =" Coverage " ></a >
5-
63## Technology Stack and Features
74
85- ⚡ [ ** FastAPI** ] ( https://fastapi.tiangolo.com ) for the Python backend API.
5249
5350[ ![ API docs] ( img/docs.png )] ( https://github.com/fastapi/full-stack-fastapi-template )
5451
55- ## How To Use It
56-
57- You can ** just fork or clone** this repository and use it as is.
58-
59- ✨ It just works. ✨
60-
61- ### How to Use a Private Repository
62-
63- If 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.
64-
65- But you can do the following:
66-
67- - Create a new GitHub repo, for example ` my-full-stack ` .
68- - Clone this repository manually, set the name with the name of the project you want to use, for example ` my-full-stack ` :
69-
70- ``` bash
71- git clone
[email protected] :fastapi/full-stack-fastapi-template.git my-full-stack
72- ```
73-
74- - Enter into the new directory:
75-
76- ``` bash
77- cd my-full-stack
78- ```
79-
80- - Set the new origin to your new repository, copy it from the GitHub interface, for example:
81-
82- ``` bash
83- git remote set-url origin
[email protected] :octocat/my-full-stack.git
84- ```
85-
86- - Add this repo as another "remote" to allow you to get updates later:
87-
88- ``` bash
89- git remote add upstream
[email protected] :fastapi/full-stack-fastapi-template.git
90- ```
91-
92- - Push the code to your new repository:
93-
94- ``` bash
95- git push -u origin master
96- ```
97-
98- ### Update From the Original Template
99-
100- After cloning the repository, and after doing changes, you might want to get the latest changes from this original template.
101-
102- - Make sure you added the original repository as a remote, you can check it with:
103-
104- ``` bash
105- git remote -v
106-
107- origin
[email protected] :octocat/my-full-stack.git (fetch)
108- origin
[email protected] :octocat/my-full-stack.git (push)
109- upstream
[email protected] :fastapi/full-stack-fastapi-template.git (fetch)
110- upstream
[email protected] :fastapi/full-stack-fastapi-template.git (push)
111- ```
112-
113- - Pull the latest changes without merging:
114-
115- ``` bash
116- git pull --no-commit upstream master
117- ```
118-
119- This will download the latest changes from this template without committing them, that way you can check everything is right before committing.
120-
121- - If there are conflicts, solve them in your editor.
122-
123- - Once you are done, commit the changes:
124-
125- ``` bash
126- git merge --continue
127- ```
128-
12952### Configure
13053
13154You can then update configs in the ` .env ` files to customize your configurations.
@@ -152,46 +75,6 @@ python -c "import secrets; print(secrets.token_urlsafe(32))"
15275
15376Copy the content and use that as password / secret key. And run that again to generate another secure key.
15477
155- ## How To Use It - Alternative With Copier
156-
157- This repository also supports generating a new project using [ Copier] ( https://copier.readthedocs.io ) .
158-
159- It will copy all the files, ask you configuration questions, and update the ` .env ` files with your answers.
160-
161- ### Install Copier
162-
163- You can install Copier with:
164-
165- ``` bash
166- pip install copier
167- ```
168-
169- Or better, if you have [ ` pipx ` ] ( https://pipx.pypa.io/ ) , you can run it with:
170-
171- ``` bash
172- pipx install copier
173- ```
174-
175- ** Note** : If you have ` pipx ` , installing copier is optional, you could run it directly.
176-
177- ### Generate a Project With Copier
178-
179- Decide a name for your new project's directory, you will use it below. For example, ` my-awesome-project ` .
180-
181- Go to the directory that will be the parent of your project, and run the command with your project's name:
182-
183- ``` bash
184- copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
185- ```
186-
187- If you have ` pipx ` and you didn't install ` copier ` , you can run it directly:
188-
189- ``` bash
190- pipx run copier copy https://github.com/fastapi/full-stack-fastapi-template my-awesome-project --trust
191- ```
192-
193- ** Note** the ` --trust ` option is necessary to be able to execute a [ post-creation script] ( https://github.com/fastapi/full-stack-fastapi-template/blob/master/.copier/update_dotenv.py ) that updates your ` .env ` files.
194-
19578### Input Variables
19679
19780Copier will ask you for some data, you might want to have at hand before generating the project.
@@ -233,7 +116,3 @@ This includes using Docker Compose, custom local domains, `.env` configurations,
233116## Release Notes
234117
235118Check the file [ release-notes.md] ( ./release-notes.md ) .
236-
237- ## License
238-
239- The Full Stack FastAPI Template is licensed under the terms of the MIT license.
0 commit comments