/InfoMaps

Automated geographical data extractor and infographic generator.

Primary LanguageHTMLMIT LicenseMIT

InfoMaps

Automated geographical data extractor and infographic generator.

Originally an entry for IC Hack 2020. This repo is currently being migrated from a hackathon-state to a readable state.

What it does

  • Gets geographical data from multiple online sources of data.
  • Displays the data on an interactive map UI.

How we built it

We separated the team into frontend and backend members. Two of our members worked on frontend where they used React and the DataMap package to produce a beautiful UI for web application. The other three members worked on scraping data from the internet to then convey to the frontend. We created three separate nodes for scraping the web: A Python node for scraping wikipedia, a Kotlin node for scraping the CIA World Factbook and a Java node for using natural language processing on general websites. This lead to a microservice-like design.

Challenges I ran into

  • We tried moving from a microservice design to a monolithic design. However, a large amount of code ended up conflicting.
  • We began the frontend by using Java. However, this was clunky and was not fully compatible with DataMaps package.

Accomplishments that I'm proud of

  • The UI looks beautiful.
  • This project has potential to be useful outside of winning a hackathon.

What I learned

  • Using microservices with Docker.
  • Node can be faster to programme and more reliable than Java, depending on your purposes.

Built With

  • Java, Kotlin and Python - Backend and web scraping
  • Docker - Container deployment
  • React - User interface
  • Datamaps - Infographic generation
  • Sanic - Asynchronous request handling
  • Gradle - Building Java and Kotlin

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • GitHub User PurpleBooth for the README template