Welcome to the quickstart tool for creating a FastAPI
project with a NextJS
frontend.
This tool creates a predefined template while installing the most recent packages where possible.
Found on:
Creating a project from scratch can be a tedious process. Not only do you have to create all the files yourself, it typically requires a lot of small minor changes that can easily be automated. So, rather than wasting a lot of time setting up projects, I created a tool that does it all for me!
I use this tool personally for SaaS
and ML API
projects and have found it extremely useful for immediately diving into coding without faffing around with setup details (except for configuring API keys). Hopefully, it's useful to you too!
All projects are created using the same stack, consisting of the following:
-
Backend
-
Frontend
a. Core:
b. Optional:
Note: all libraries and packages are automatically installed to their latest versions when running the tool.
We've also added some extra files too! You can find out more about them in our documentation.
-
Firstly, install Docker, we use this to create the frontend files dynamically using the Build NextJS App Tool.
-
Install the package through
PIP
:pip install create_api_app
-
Create a project with a
name
and anoptional
string ofexclusion
characters for theoptional
packages.Exclusion options:
c
,u
,s
,cs
,cu
,us
,cus
.c
=Clerk
,u
=Uploadthing
,s
=Stripe
create-api-app <project_name> <exclusions>
And that's it! You'll find two folders in your project, one called frontend
(for NextJS) and another called backend
(for FastAPI).
-
Open a terminal and navigate to the
backend
directory:cd backend
-
Install a virtual environment for
Poetry
:python -m venv env
-
Access it using one of the following (first ->
Windows
; second ->Mac/Linux
):.\env\Scripts\activate
source ./env/bin/activate
Not working? Refer to the virtual env docs.
-
Run the
uvicorn
server using thePoetry
script:app-start
-
Open a terminal and navigate to the
frontend
directory:cd frontend
-
Install the packages using Node.js:
npm install
-
Run the development server:
npm run dev
Customization options are found in our documentation.