Name | create-api-app JSON |
Version |
2.1.2
JSON |
| download |
home_page | None |
Summary | A quickstart tool for creating a FastAPI project with a NextJS frontend. |
upload_time | 2024-06-28 16:10:36 |
maintainer | None |
docs_url | None |
author | Ryan Partridge |
requires_python | <4.0,>=3.12 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Create API App Quickstart Tool <!-- omit in toc -->

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:
- [PyPi](https://pypi.org/project/create-api-app/)
- [GitHub](https://github.com/Achronus/create-api-app/)
## Contents <!-- omit in toc -->
- [Why This Tool?](#why-this-tool)
- [The Stack](#the-stack)
- [Installation](#installation)
- [Running The Backend](#running-the-backend)
- [Running the Frontend](#running-the-frontend)
- [Customization](#customization)
## 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
- [FastAPI](https://github.com/tiangolo/fastapi)
- [Pydantic](https://docs.pydantic.dev/)
- [MongoDB](https://www.mongodb.com/)
- [Beanie](https://beanie-odm.dev/)
- [Poetry](https://python-poetry.org/)
- [Pytest](https://docs.pytest.org/)
- [Hypothesis](https://hypothesis.readthedocs.io/)
2. Frontend
a. Core:
- [NextJS](https://nextjs.org/)
- [TailwindCSS](https://tailwindcss.com/)
- [TypeScript](https://www.typescriptlang.org/)
- [Lucide React](https://lucide.dev/)
- [Shadcn UI](https://ui.shadcn.com/)
b. Optional:
- [Clerk](https://clerk.com/docs/quickstarts/nextjs)
- [Uploadthing](https://uploadthing.com/)
- [Stripe](https://stripe.com/docs)
_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](https://create.achronus.dev/file-structure/).
## Installation
1. Firstly, install [Docker](https://docs.docker.com/get-docker/), we use this to create the frontend files dynamically using the [Build NextJS App Tool](https://github.com/Achronus/build-nextjs-app).
2. Install the package through `PIP`:
```python
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`_
```python
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:
```cmd
cd backend
```
2. Install a virtual environment for `Poetry`:
```cmd
python -m venv env
```
3. Access it using one of the following (first -> `Windows`; second -> `Mac/Linux`):
```cmd
.\env\Scripts\activate
```
```cmd
source ./env/bin/activate
```
_Not working? Refer to the [virtual env docs](https://docs.python.org/3/library/venv.html#how-venvs-work)._
4. Run the `uvicorn` server using the `Poetry` script:
```cmd
app-start
```
## Running the Frontend
1. Open a terminal and navigate to the `frontend` directory:
```cmd
cd frontend
```
2. Install the packages using [Node.js](https://nodejs.org/en):
```cmd
npm install
```
3. Run the development server:
```cmd
npm run dev
```
## Customization
Customization options are found in our [documentation](https://create.achronus.dev/customization/).
Raw data
{
"_id": null,
"home_page": null,
"name": "create-api-app",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": null,
"author": "Ryan Partridge",
"author_email": "rpartridge101@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/f4/21/0b3dbab15bc63719c521a8264fc92aa21a28512d6a57b8338150edba4b09/create_api_app-2.1.2.tar.gz",
"platform": null,
"description": "# Create API App Quickstart Tool <!-- omit in toc -->\n\n\n\nWelcome to the quickstart tool for creating a `FastAPI` project with a `NextJS` frontend.\n\nThis tool creates a predefined template while installing the most recent packages where possible.\n\nFound on:\n\n- [PyPi](https://pypi.org/project/create-api-app/)\n- [GitHub](https://github.com/Achronus/create-api-app/)\n\n## Contents <!-- omit in toc -->\n\n- [Why This Tool?](#why-this-tool)\n- [The Stack](#the-stack)\n- [Installation](#installation)\n- [Running The Backend](#running-the-backend)\n- [Running the Frontend](#running-the-frontend)\n- [Customization](#customization)\n\n## Why This Tool?\n\nCreating 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!\n\nI 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!\n\n## The Stack\n\nAll projects are created using the same stack, consisting of the following:\n\n1. Backend\n\n - [FastAPI](https://github.com/tiangolo/fastapi)\n - [Pydantic](https://docs.pydantic.dev/)\n - [MongoDB](https://www.mongodb.com/)\n - [Beanie](https://beanie-odm.dev/)\n - [Poetry](https://python-poetry.org/)\n - [Pytest](https://docs.pytest.org/)\n - [Hypothesis](https://hypothesis.readthedocs.io/)\n\n2. Frontend\n\n a. Core:\n\n - [NextJS](https://nextjs.org/)\n - [TailwindCSS](https://tailwindcss.com/)\n - [TypeScript](https://www.typescriptlang.org/)\n - [Lucide React](https://lucide.dev/)\n - [Shadcn UI](https://ui.shadcn.com/)\n\n b. Optional:\n - [Clerk](https://clerk.com/docs/quickstarts/nextjs)\n - [Uploadthing](https://uploadthing.com/)\n - [Stripe](https://stripe.com/docs)\n\n_Note: all libraries and packages are automatically installed to their latest versions when running the tool._\n\nWe've also added some extra files too! You can find out more about them in our [documentation](https://create.achronus.dev/file-structure/).\n\n## Installation\n\n1. Firstly, install [Docker](https://docs.docker.com/get-docker/), we use this to create the frontend files dynamically using the [Build NextJS App Tool](https://github.com/Achronus/build-nextjs-app).\n\n2. Install the package through `PIP`:\n\n ```python\n pip install create_api_app\n ```\n\n3. Create a project with a `name` and an `optional` string of `exclusion` characters for the `optional` packages.\n\n Exclusion options: `c`, `u`, `s`, `cs`, `cu`, `us`, `cus`.\n _`c` = `Clerk`, `u` = `Uploadthing`, `s` = `Stripe`_\n\n ```python\n create-api-app <project_name> <exclusions>\n ```\n\nAnd that's it! You'll find two folders in your project, one called `frontend` (for NextJS) and another called `backend` (for FastAPI).\n\n## Running The Backend\n\n1. Open a terminal and navigate to the `backend` directory:\n\n ```cmd\n cd backend\n ```\n\n2. Install a virtual environment for `Poetry`:\n\n ```cmd\n python -m venv env\n ```\n\n3. Access it using one of the following (first -> `Windows`; second -> `Mac/Linux`):\n\n ```cmd\n .\\env\\Scripts\\activate\n ```\n\n ```cmd\n source ./env/bin/activate\n ```\n\n _Not working? Refer to the [virtual env docs](https://docs.python.org/3/library/venv.html#how-venvs-work)._\n\n4. Run the `uvicorn` server using the `Poetry` script:\n\n ```cmd\n app-start\n ```\n\n## Running the Frontend\n\n1. Open a terminal and navigate to the `frontend` directory:\n\n ```cmd\n cd frontend\n ```\n\n2. Install the packages using [Node.js](https://nodejs.org/en):\n\n ```cmd\n npm install\n ```\n\n3. Run the development server:\n\n ```cmd\n npm run dev\n ```\n\n## Customization\n\nCustomization options are found in our [documentation](https://create.achronus.dev/customization/).\n",
"bugtrack_url": null,
"license": null,
"summary": "A quickstart tool for creating a FastAPI project with a NextJS frontend.",
"version": "2.1.2",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "43166aa4149f520d7350200b630e34c7fa52d27f9a5f32981e1185b6c47ff418",
"md5": "2017c56910aaa217b766108f1b6706d3",
"sha256": "b88d012c5d8b2ba3c53f2278f72a3b5a03e71e794b5c963c658e4aae0663dcba"
},
"downloads": -1,
"filename": "create_api_app-2.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2017c56910aaa217b766108f1b6706d3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 30864,
"upload_time": "2024-06-28T16:10:34",
"upload_time_iso_8601": "2024-06-28T16:10:34.392940Z",
"url": "https://files.pythonhosted.org/packages/43/16/6aa4149f520d7350200b630e34c7fa52d27f9a5f32981e1185b6c47ff418/create_api_app-2.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f4210b3dbab15bc63719c521a8264fc92aa21a28512d6a57b8338150edba4b09",
"md5": "5dd9d0befa8656765a32b7b0f4c617aa",
"sha256": "6571d09085e08233168390e21e16212f4102db82b3c1e11f8e23688085e2df8b"
},
"downloads": -1,
"filename": "create_api_app-2.1.2.tar.gz",
"has_sig": false,
"md5_digest": "5dd9d0befa8656765a32b7b0f4c617aa",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 19279,
"upload_time": "2024-06-28T16:10:36",
"upload_time_iso_8601": "2024-06-28T16:10:36.795038Z",
"url": "https://files.pythonhosted.org/packages/f4/21/0b3dbab15bc63719c521a8264fc92aa21a28512d6a57b8338150edba4b09/create_api_app-2.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-28 16:10:36",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "create-api-app"
}