Skip to content

Latest commit

 

History

History
31 lines (16 loc) · 3.9 KB

README.md

File metadata and controls

31 lines (16 loc) · 3.9 KB

Features

The goal of Polyplot is to be the best data exploration software in the world! This goal is achieved through a combination of innovative features, some of which are listed here.

:octocat: Open Source

Polyplot has been built on GitHub from day one! The power of git and open source is that it enables the internet hive mind to collaborate on a project in a way that's impossible for a small closed group of developers. You are encouraged to clone, fork and modify the code in any way you like! If you notice any bugs or have an idea for a new feature please open an issue.

💡 3D View

Polyplot raises the bar and takes data exploration to another dimension, literally! In addition to 2D plots and a map view Polyplot also offers a 3D exploration environment. Countries can be plotted as spheres in 3D space and animated through time. Under the hood Polyplots 3D graphics are powered by three.js, so if you're familiar with that library you can easily modify the plot or add custom features.

💻 Flexable UI

Polyplot has a uniquely lucid interface that creates a smoother experience for users and developers. Rather than having a fixed/static layout Polyplot expands the plotting area to fullscreen and pops out the controls/tools onto floating panels that can be placed anywhere and toggled on/off. For users this creates a more custom experience that makes better use of screen space. For developers it makes it easier to build new features in isolation without needing to worry about the overall architecture of the application.

🌍 Custom Map

Polyplot is a masterpiece of digital cartography! The base map has the countries of the world coloured by a time series indicator and can be morphed between different projections. You can also build and add custom layers of geospatial data. This mixture of time series and geospatial data can be a powerful catalyst in the discovery process! Under the hood Polyplots map features are powered by d3.js, so if you're familiar with that library you can easily modify the map or add custom layers.

🔗 API

Polyplot uses a document-oriented (NoSQL) database called MongoDB, all of Polyplots data is available in an API connected to this database. The APIs primary routes correlate with collections in the database and the secondary routes correlate with a single document in that collection. You can also add a custom query, filter, sort and limit to the API routes. Read the API documentation for more detailed instructions.

📖 Notebooks

Polyplot uses docker compose to connect its services, if everything deployed correctly then you should be able to view a Jupyter Notebook container on port 8888. Notebooks can be used as a sandbox to develop and test new code or explore the database. Polyplot comes preloaded with a set of notes that correspond to the collections in the database and can be used as a starting point. For more information on how to use the Jupyter Notebook service take a look here.

⏰ Auto Updates

Polyplot never falls behind the times, the world is changing everyday and so is Polyplot! The backend connects to several APIs and scrapes various websites across the web everyday for fresh data. New APIs and sites are being added all the time, connecting a new API or writing a scraper is a great way to contribute!