Farm to Consumer Application
See extended documentation here:
https://1904labs.github.io/geohack-collab-project/index.html
- pyenv:
- Install the required build packages here:
https://github.com/pyenv/pyenv/wiki/Common-build-problems - Install pyenv via the instructions here:
https://github.com/pyenv/pyenv-installer
- Install the required build packages here:
- pipenv: Install pipenv via the instructions here:
https://pypi.org/project/pipenv/ - node/npm: Install node.js and npm per the instructions here:
https://www.npmjs.com/get-npm
1. Install your python environement
pipenv install
2. Install your node environment
npm install
3. Build your react app
npm run build
4. Run the dev server
Lauch the webpack dev server on http://localhost:3000
A browser window should open automatically
npm run start
Alternately to lauch the flask dev server on http://localhost:5000
npm run flask
The top level of this project contains project resource files, the application itself resides in the "app" folder and has both a server side component and a frontend component. The server side component uses the popular python microframework flask. The frontend uses react.js and utilizes ol-kit for the map component and the bootstrap4 css framework. Relevant links are below:
- ol-kit: https://ol-kit.com/
- React: https://reactjs.org/
- React-Bootstrap: https://react-bootstrap.github.io/
- Bootstrap: https://getbootstrap.com/docs/4.5/getting-started/introduction/
- Flask: https://flask.palletsprojects.com/en/1.1.x/
The Dockerfile file at the root of the project defines an alpine based container image for the web components of the project. The docker-compose file utilizes this container image as well as providing a geoserver container and a postgis container. These can be found here:
- Geoserver:
- PostGis:
This project is built from this base
- flask-react-base: https://github.com/1904labs/flask-react-base
The mapview portion started out as a standalone container, it is useful for experimenting with map layers and can be found here: