Skip to content

A quickstart tool for creating FastAPI projects with a NextJS frontend.

License

Notifications You must be signed in to change notification settings

Achronus/create-api-app

Repository files navigation

Create API App Quickstart Tool

PyPI - Python Version

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:

Contents

Why This Tool?

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!

The Stack

All projects are created using the same stack, consisting of the following:

  1. Backend

  2. 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.

Installation

  1. Firstly, install Docker, we use this to create the frontend files dynamically using the Build NextJS App Tool.

  2. Install the package through PIP:

    pip install create_api_app
  3. Create a project with a name and an optional string of exclusion characters for the optional 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).

Running The Backend

  1. Open a terminal and navigate to the backend directory:

    cd backend
  2. Install a virtual environment for Poetry:

    python -m venv env
  3. 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.

  4. Run the uvicorn server using the Poetry script:

    app-start

Running the Frontend

  1. Open a terminal and navigate to the frontend directory:

    cd frontend
  2. Install the packages using Node.js:

    npm install
  3. Run the development server:

    npm run dev

Customization

Customization options are found in our documentation.