Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reubenjohn/nextjs-flask-starter
https://github.com/reubenjohn/nextjs-flask-starter
Last synced: about 4 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/reubenjohn/nextjs-flask-starter
- Owner: reubenjohn
- Created: 2024-03-09T06:12:22.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-03-09T23:52:42.000Z (9 months ago)
- Last Synced: 2024-03-10T00:20:59.878Z (9 months ago)
- Language: TypeScript
- Homepage: https://nextjs-flask-starter-five-iota.vercel.app
- Size: 181 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Simple Next.js boilerplate that uses Flask as the API backend.
## Introduction
This is a hybrid Next.js + Python app that uses Next.js as the frontend and Flask as the API backend. One great use case of this is to write Next.js apps that use Python AI libraries on the backend.
## How It Works
The Python/Flask server is mapped into to Next.js app under `/api/`.
This is implemented using [`next.config.js` rewrites](https://github.com/vercel/examples/blob/main/python/nextjs-flask/next.config.js) to map any request to `/api/:path*` to the Flask API, which is hosted in the `/api` folder.
On localhost, the rewrite will be made to the `127.0.0.1:5328` port, which is where the Flask server is running.
In production, the Flask server is hosted as [Python serverless functions](https://vercel.com/docs/concepts/functions/serverless-functions/runtimes/python) on Vercel.
## Demo
https://nextjs-flask-starter.vercel.app/
## Deploy Your Own
You can clone & deploy it to Vercel with one click:
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?demo-title=Next.js%20Flask%20Starter&demo-description=Simple%20Next.js%20boilerplate%20that%20uses%20Flask%20as%20the%20API%20backend.&demo-url=https%3A%2F%2Fnextjs-flask-starter.vercel.app%2F&demo-image=%2F%2Fimages.ctfassets.net%2Fe5382hct74si%2F795TzKM3irWu6KBCUPpPz%2F44e0c6622097b1eea9b48f732bf75d08%2FCleanShot_2023-05-23_at_12.02.15.png&project-name=Next.js%20Flask%20Starter&repository-name=nextjs-flask-starter&repository-url=https%3A%2F%2Fgithub.com%2Fvercel%2Fexamples%2Ftree%2Fmain%2Fpython%2Fnextjs-flask&from=vercel-examples-repo)
## Developing Locally
You can clone & create this repo with the following command
```bash
npx create-next-app nextjs-flask --example "https://github.com/vercel/examples/tree/main/python/nextjs-flask"
```## Getting Started
First, install the dependencies:
```bash
npm install
# or
yarn
# or
pnpm install
```Then, run the development server:
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
```Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
The Flask server will be running on [http://127.0.0.1:5328](http://127.0.0.1:5328) – feel free to change the port in `package.json` (you'll also need to update it in `next.config.js`).
## Learn More
To learn more about Next.js, take a look at the following resources:
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
- [Flask Documentation](https://flask.palletsprojects.com/en/1.1.x/) - learn about Flask features and API.You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!