Skip to content

taylorjg/flask-and-react

Repository files navigation

Description

A little web app with the following features:

  • Backend is Python / Flask
  • Frontend is TypeScript / React
  • Deployment to Heroku as a Docker container via GitHub Actions
  • Display historical weather data in a visx chart

Running locally

In order to run locally, you first need to create a .env file:

FLASK_APP=server.py
OPEN_WEATHER_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Running locally in development mode

# Run the flask app to serve out the web api
flask run

# Run the web development server to serve out the React app
# Web api calls will be proxied to the flask app (due to the "proxy" setting in "package.json")
npm run start

# Open the web app in a web browser
open http://localhost:3000

Running the Docker image locally

# Build the Docker image
docker build --tag flask-and-react .

# Run the Docker image in a container
docker run --rm --env-file .env --publish 5000:5000 --name flask-and-react --detach flask-and-react

# Open the web app in a web browser
open http://localhost:5000

# View the output logged by the flask app running in the Docker container
docker logs flask-and-react

# Stop the Docker container
docker stop flask-and-react

Links