iNaturalist observation map for casual birders and critter enjoyers.
- Django
- Bootstrap 5
- OpenLayers
- iNaturalist API
- Celery
- extended Openlayers control class that integrates geolocation and device orientation
- API call throttling via Celery & Redis
- UTFGrid for lazy loading Vector Source in OpenLayers
- podman
- python3
- Clone the repo
git clone https://github.com/jmevangelist/birds-in-your-area.git
- Create virtual environment and activate
cd birds-in-your-area
python3 -m venv /birdsInMyArea
source birdsInMyArea/bin/activate
- Install python dependencies
pip install -r requirements.txt
- Create SSL Certificate (optional)
certtool -p --key-type=rsa --bits=4096 --no-text --outfile=key.pem
certtool -s --load-privkey key.pem --no-text --outfile=cert.pem
- Run
#For "prod" mode via Gunicorn
./run
# options
# --dev dev mode
# --django run Django development server
- (Optional-for throttling iNaturalist API calls) Run Celery & Redis
./runCelery
- Celery integration to throttle number of requests on iNat API
- Species album
- Obs album
- Species filter
- Map Layers
- Celery as a service
- Species info page