Logo Lanfrica

jkariscodes/health-facilities

Domain:

geospatialhealthcare

Record type:

software
Creator:
jka
Host:
Geospatial solution for showing health facilities in Kenya with the use of GeoDjango, Nginx and Node # Health Facilities App Health facilities is a full-stack web application that leverages GeoDjango, Nginx, Node, and React to visualize the health facilities located in Kenya. The goal of this project is to showcase, to especially beginners and mid-level web developers, the use of backend and frontend technologies in crafting an interactive web application. ## Table of Contents - Features - Technologies Used - Getting Started - Usage - API Documentation - Contributing - License ## Features - Interactive map - Spatial database - Scalable frontend and backend apps - Reverse proxy server - Containerized services ## Technologies Used ### Frontend - Node - React - Leaflet - Bootstrap5 ### Backend - Python - Django - GeoDjango - PostGIS __Note__: Data used in this project has been sourced from The Humanitarian Data Exchange Find data repository. ### API Gateway - Nginx proxy server ## Getting Started 1. Clone the repository: ```bash git clone github.com cd health-facilities 2. Install Docker with these instructions. 3. Rename the .env_sample file to .env 4. Populate the .env file with respective values. 5. Build images ```bash make build 6. Start Postgis, nginx, Django, and client services ```bash make start services 7. Create tables in the PostGIS database via Django's migrate command. ```bash make migrate 8. Populate tables with health facilities data ```bash make load-facilities-data 9. Navigate to 127.0.0.1 to view the client app and 127.0.0.1 to view the API. ## Usage 1. __Django Backend__ * Access the Django admin panel at: 127.0.0.1 Create a superuser account to manage the backend: ```python manage.py createsuperuser``` * Explore the API endpoints. Data API endpoint: 127.0.0.1 * Customize and add your own API endpoints as defined in the Django backend. 2. __React Frontend__ * Access the React frontend at: …