All Projects → TheJoin95 → Covid19 Market Waiting Times

TheJoin95 / Covid19 Market Waiting Times

Licence: mit
A project to help people stand in line at the market as little as possible

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Covid19 Market Waiting Times

Bigdata Interview
🎯 🌟[大数据面试题]分享自己在网络上收集的大数据相关的面试题以及自己的答案总结.目前包含Hadoop/Hive/Spark/Flink/Hbase/Kafka/Zookeeper框架的面试题知识总结
Stars: ✭ 857 (+802.11%)
Mutual labels:  bigdata
Big Data Engineering Coursera Yandex
Big Data for Data Engineers Coursera Specialization from Yandex
Stars: ✭ 71 (-25.26%)
Mutual labels:  bigdata
Mlsql
The Programming Language Designed For Big Data and AI
Stars: ✭ 1,262 (+1228.42%)
Mutual labels:  bigdata
Panther
Detect threats with log data and improve cloud security posture
Stars: ✭ 885 (+831.58%)
Mutual labels:  bigdata
Reddit sse stream
A Server Side Event stream to deliver Reddit comments and submissions in near real-time to a client.
Stars: ✭ 39 (-58.95%)
Mutual labels:  bigdata
Cleanframes
type-class based data cleansing library for Apache Spark SQL
Stars: ✭ 75 (-21.05%)
Mutual labels:  bigdata
10 Weeks
10-weeks of technology exploration
Stars: ✭ 22 (-76.84%)
Mutual labels:  bigdata
Biglasso
biglasso: Extending Lasso Model Fitting to Big Data in R
Stars: ✭ 87 (-8.42%)
Mutual labels:  bigdata
Countly Sdk Cordova
Countly Product Analytics SDK for Cordova, Icenium and Phonegap
Stars: ✭ 69 (-27.37%)
Mutual labels:  bigdata
Athena Cli
Presto-like CLI tool for AWS Athena
Stars: ✭ 85 (-10.53%)
Mutual labels:  bigdata
Aws Auto Terminate Idle Emr
AWS Auto Terminate Idle AWS EMR Clusters Framework is an AWS based solution using AWS CloudWatch and AWS Lambda using a Python script that is using Boto3 to terminate AWS EMR clusters that have been idle for a specified period of time.
Stars: ✭ 21 (-77.89%)
Mutual labels:  bigdata
Optimus
🚚 Agile Data Preparation Workflows made easy with dask, cudf, dask_cudf and pyspark
Stars: ✭ 986 (+937.89%)
Mutual labels:  bigdata
Uproot4
ROOT I/O in pure Python and NumPy.
Stars: ✭ 80 (-15.79%)
Mutual labels:  bigdata
Spark Streaming Monitoring With Lightning
Plot live-stats as graph from ApacheSpark application using Lightning-viz
Stars: ✭ 15 (-84.21%)
Mutual labels:  bigdata
Bigdata File Viewer
A cross-platform (Windows, MAC, Linux) desktop application to view common bigdata binary format like Parquet, ORC, AVRO, etc. Support local file system, HDFS, AWS S3, Azure Blob Storage ,etc.
Stars: ✭ 86 (-9.47%)
Mutual labels:  bigdata
Mobius
C# and F# language binding and extensions to Apache Spark
Stars: ✭ 929 (+877.89%)
Mutual labels:  bigdata
Apache Spark Hands On
Educational notes,Hands on problems w/ solutions for hadoop ecosystem
Stars: ✭ 74 (-22.11%)
Mutual labels:  bigdata
Mnemonic
Apache Mnemonic - A non-volatile hybrid memory storage oriented library
Stars: ✭ 91 (-4.21%)
Mutual labels:  bigdata
Ignite Book Code Samples
All code samples, scripts and more in-depth examples for the book high performance in-memory computing with Apache Ignite. Please use the repository "the-apache-ignite-book" for Ignite version 2.6 or above.
Stars: ✭ 86 (-9.47%)
Mutual labels:  bigdata
Hudi Resources
汇总Apache Hudi相关资料
Stars: ✭ 79 (-16.84%)
Mutual labels:  bigdata

COVID-19 Waiting Times

This project aims to avoid the gatherings of people in various supermarkets and pharmacies during the covid-19 pandemic. Based on the geolocation of the device, it will show various points of interest such as supermarkets, pharmacies, clinics, bars etc., with an estimate waiting time and a forecast of the next hour.

NOTE: This project does not wanna be for commercial use. This project wants to help people to stay outside their house as little time as possible and to avoid other people for the quarantine period.

End of life - July 2020

I hope that this project helped some people from all around the world. I will may reactive the project in case of a 2nd wave on late 2020.

snippet

How it works

The front end uses Open Street Map with the Leaflet.js library.

It uses also the geocode.xyz API, client side, to retrieve details about the address and the city from the geo-coordinates retrieved by the HTML5 API.

The back end is powered by Flask, a micro-framework for building some simple APIs to retrieve data from Google Places.

NOTE: this project does not use the official Google APIs, but it is working via a sort of workaround / bug. We can call this "scraping", but it is not the right word.

Data

The data comes from Google, like Traffic for Maps, in real time. The data are also based on the data of the past week, to have a history (Google based), the time spent inside a place and the estimated waiting time to be able to complete the purchase. In the latest release the data are also crowdsourced via the user's feedback that anyone can give by clicking on the marker of a place on the map.

The waiting time is also based on the current popularity (readme as realtime) of a specific place. This feature is not available for all places, but for the vast majority it is. In this way, the estimated waiting times can still be reliable, since the calculations that are carried out on these data try to take into consideration the variables of the emergence such as social distancing, less influx of people in closed places etc. The data is then divided into hours and weekdays.

In the future it will then perhaps be possible to give an estimate on the following hours.

All times are to be kept as estimates.

In fact, the same data that you would view on Google are used, i.e. the data within the local business.

Please, note that sometimes a place can have a parking area or other stuff where the geolocation can make some mistakes. I can not detect where the people are, if they are people or car, how many people are in the line etc etc. The estimates are based on the data that come from Google with an additional formula to get an approx time to wait. This error can change from a place to another.

Local development

Front-end

Running the application

  1. From the command line, change to the client/ directory.
  2. Run npm install to install dependencies.
  3. Run npm start to open a browser window with the application.

SCSS, HTML, and JS files will be watched by the local server, so when one of these source files changes, Gulp tasks are re-run, code is compiled, and your running application will either (1) reload, or (2) new code (in the case of CSS) will get injected without a reload.

Back end

Start the Flask server

First of all you need to clone the repository on master branch.

Then install python >= 3.5 and its dev packages.

apt-get update
apt-get install python3-distutils python3.6 build-essential python3.6-dev

Then we can install the python package manager: pip.

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.6 get-pip.py 

After installing pip, we need to install all these packages:

pip3.6 install flask flask-limiter flask-cors requests

Then we can start our dev server: python3.6 server/index.py

Other contributors

My friends for helping and support me as beta testers with a huge amount of feedback.

danieldafoe for helping me on the frontend side.

TODO

  • Add search input in an overlay
  • Get geoip information to searh place in region in progress
  • Add a sidebar to list all the visible places testing
  • Add autosuggest on search city/address in progress
  • Add geocoding data from geocode API in client localStorage as a cache in progress
  • Add history as #5
  • Need to optimize the load avg to grant the access to 1500 users in 10min testing
  • Add category filters and force estimation #6
  • Refacotring UI/UX #9 in progress
  • add favorites location
  • guarantee accessibility in progress

Credits

The waitingtimes lib is based on the populartimes python library. The geolocation client utility comes from the greg's repo.

The geolocation API used on the backend site is provided from ArcGIS.

Cheers.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].