Welcome to Global Event Mapper, an interactive web application designed to visualize and explore geopolitical and social events across the globe. Leveraging robust data from the Armed Conflict Location & Event Data Project (ACLED), our platform allows users to dynamically filter events by type, region, and more, displayed through an intuitive map interface.
https://acled-codviz.itos.uga.edu/
- Dynamic Event Filtering: Interact with multiple filters such as Disorder Type, Event Type, Sub Event Type, Year, Country, and Region to drill down into the events that matter most to you.
- Real-Time Data Visualization: Utilizes Leaflet.js integrated with MarkerCluster for efficient and clear display of events even in densely populated areas.
- Responsive Design: Crafted to provide a seamless experience across all devices.
- Data Caching: Implements server-side caching to optimize data retrieval and reduce load times.
- Frontend: HTML5, CSS3, JavaScript (jQuery)
- Mapping: Leaflet.js with Leaflet.markercluster
- Backend: Node.js with Express.js
- Data Fetching: Axios for API requests
- Environment Management: dotenv for handling environment variables
-
Node.js and npm installed:
node --version npm --version
-
Docker installed (for Docker-based setup):
docker --version
-
Clone the repository:
git clone https://github.com/Ruthik27/GeoInsight-Global-Conflict-and-Crisis-Mapping.git cd GeoInsight-Global-Conflict-and-Crisis-Mapping
-
Install dependencies:
npm install
-
Configuration: Create a
.env
file in the root directory and add your ACLED API key and email:ACLEDDATA_API_KEY=your_acled_api_key ACLEDDATA_EMAIL=your_email_used_for_registration
-
Locally:
npm start
Access the application at
http://localhost:3000
. -
Using Docker:
- Build the Docker image:
docker build -t GeoInsight-Global-Conflict-and-Crisis-Mapping .
- Run the application in a Docker container:
docker run -p 3000:3000 GeoInsight-Global-Conflict-and-Crisis-Mapping
Access the application at
http://localhost:3000
. - Build the Docker image:
- View Running Containers:
docker ps
- Stop a Running Container:
docker stop <container_id>
- Remove a Container:
docker rm <container_id>
- List Docker Images:
docker images
- Remove a Docker Image:
docker rmi <image_id>
Contributions are welcome! To contribute:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Project Link: https://github.com/Ruthik27/GeoInsight-Global-Conflict-and-Crisis-Mapping