Skip to content

Latest commit

 

History

History
141 lines (101 loc) · 4.34 KB

File metadata and controls

141 lines (101 loc) · 4.34 KB

GeoInsight: Global Conflict and Crisis Mapping

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.


Have a Look at the Live Demo currently hosted by the ITOS Division:

https://acled-codviz.itos.uga.edu/

Features

  • 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.

Technologies Used

  • 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
image

Getting Started

Prerequisites

  • Node.js and npm installed:

    node --version
    npm --version
  • Docker installed (for Docker-based setup):

    docker --version

Installation

  1. Clone the repository:

    git clone https://github.com/Ruthik27/GeoInsight-Global-Conflict-and-Crisis-Mapping.git
    cd GeoInsight-Global-Conflict-and-Crisis-Mapping
  2. Install dependencies:

    npm install
  3. 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
    

Running the Application

  • 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.

Docker Commands

  • 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>
image
image

Contributing

Contributions are welcome! To contribute:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Project Link: https://github.com/Ruthik27/GeoInsight-Global-Conflict-and-Crisis-Mapping

Support

image image image

https://www.cviog.uga.edu/information-technology/