GithubHelp home page GithubHelp logo

cnpryer / toss-it-ride-share Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 591 KB

Ride share with like-minded anti-litter Philadelphians [Philly Codefest 2019].

Python 9.48% HTML 1.12% Jupyter Notebook 89.41%

toss-it-ride-share's Introduction

toss-it-ride-share

Ride share with like-minded anti-litter Philadelphians. Hackathon Devpost

The Idea

From the ground up this repo will be built around the VRP problem applied to pickup and deliveries, where pickups and deliveries are both fellow ride-share participants and identified public litter to be disposed.

The Functions

  1. geo-tagged pickups and deliveries.
  2. point to point route and litter clean up optimization.
  3. ranking system.

The Vision

Ideally the functionality developed will be exposed to users through both mobile and browser-based interfaces. Geographic location functionality should be computed and managed under the hood. All the users should do is say they are looking for a driver or a ride. Once the ride is established the team will both complete the objective of bringing both the driver (optional) and the rider to their respective destinations and rack up points by hitting either hotspots for litter or identified items to be disposed. A more advanced direction for this software would be to integrate with various peer-to-peer social media platforms to allow for seamless participation.

More Detail

My goal is to learn how to use Google OR Tools. In the spirit of the competition and it's theme (see philly codefest), this technology will be leveraged to initiate a clean up program to alleviate the city and all its citizens of the growing pollution concern.

The theme of the hackathon is economic inequality. Performing some brain gymnastics, this idea will bring together all levels of economic class for a common goal. But gynastics aside, the competition lists that environmental saftey is in fact a category of focus. So this falls under there.

Geo-tagged pickups and deliveries

This could be broken down into participants (seeking rides) and destinations. Destinations can be further broken down into requested drop-offs and litter pickups. Litter pickup destinations can be associated with either known litter hotspots or geo-tagged items. "Wait! If you're going to go out of your way to tag litter, why not just pick it up?" Well A. the tagging is extremely scalable. So while at the start of this software's development the tagging is very rudimentary and requires manual data entry, ideally this will evolve into more passive tagging, making the argument that "it takes time to tag so why not just clean up" less effective. B. some people just won't do anything, and that's their nature. You're more likely to get them involved by providing this alternative than changing their personality and such.

Point-to-point optimization

UPDATE NOTE: While this program is pickup and delivery oriented, in the sense that a rider is picked up and delivered, the way to model this problem is to solve it as a CVRP with penalties and dropping visits. Note that wherever the model is described as pickups and deliveries, that is incomplete and outdated in this software's documentation. The way to solve this is more likely a combination of a capacity problem, penalties, and pickups and deliveries.

Google OR allows for you to program your custom VRP (vehicle routing problem) and apply it in whatever fashion you'd like. In this case I'll be engineering a VRP with pickups and deliveries and theoretically negative penalties and dropping visits for this software. The idea is to maximize the amount of litter you can toss out and minimize the route complication for the driver and rider.

Ranking system

Another cool functionality would be to created a ranking and scoring system for users. This could be built off of logic surrounding features such as litter tossed, ride-time, participation, use frequency, etc.

Using this software

There are several phases identified for the program's development. In order to compete in Philly Codefest 2019 I'll need to tackle simplified sprints. In an order of simple to complex:

A. Python Package: from the perspective of social network platforms, this software in its simplest form can be a package that developers can integrate with their users. Every social network platform can allow for their users to register with the software and its environment. Then each user can utilize the low-level capabilities and ranking system. A.1. Install the package and its dependancies. A.2. Integrate the main wrapper with your user models. A.3. Surface resulting data and visuals, along with this software's data models representing ranking and user analytics.

B. Python Package and Website: A with public-facing website to house ranking, independent participation, etc. TODO:

C. Stand alone software: Mobile web app used similarly to Uber and Lyft but as a social platform. The most advanced version of this software could provide monetary dimensions.

toss-it-ride-share's People

Contributors

cnpryer avatar

Watchers

 avatar  avatar

toss-it-ride-share's Issues

Inconsistent Mapping

inconsistent-mapping
Origins seem to map every time, but destinations are not always visualized as they should be. The engine seems fine. The problem is either in the visualization of the route or I'm missing something.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.