Giter VIP home page Giter VIP logo

intelli-trip-planner's People

Contributors

bgjehu avatar buscedv avatar danaesignal avatar dependabot-preview[bot] avatar dependabot[bot] avatar dongskyler avatar tangaw avatar wei200 avatar yiningwoof avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

intelli-trip-planner's Issues

Design and implement a database of all 58 National Parks in the US and their basic info

The database can be implemented with SQ: (PostgreSQL or MySQL) or noSQL (such as MongoDB), whichever makes the most sense.

The database will be implemented with MongoDB.

Because it is difficult to pre-define the schema, given that:

  • Attractions of different types may have very different attributes.
  • When we scale this database up, we don't know what attributes will be included.

Therefore, a noSQL database (such as MongoDB) is an ideal choice.

The database should include at least the following info:

  • Name
  • Coordinates
  • Type of attraction (e.g. National Park, National Monument, National Historical Park, etc)
  • Hours
  • Entrance fee, annual pass
  • Campsite info
  • In-park lodging
  • Major attractions inside each park/attraction
  • Popularity, measured by, e.g., number of visitors (of last available year)

Add an option to find optimal routes by distance

Is your feature request related to a problem? Please describe.

Currently, the app can only calculate the optimal route by duration, aka, fastest route. I’d like to see a feature that can find the shortest route.

Add an option to return back to 'origin' at the end of route

Currently, the optimization algorithm finds the shortest route, assuming that you don’t return back to the origin and you may end up at any destination at the end of the trip.

Task:
Add an option to return back to 'origin' at the end of the route, and account for that route’s duration in the algorithm.

Rewrite existing for-loops in App.js with forEach() method and/or arrow notation

Rewrite existing for-loops in src/html/app/intelligent-trip-planner/Apps.js with JavaScript’s forEach() method and/or arrow notations, wherever appropriate.

As far as I remember, most for-loops (if not all) can be rewritten with object-oriented and/or functional styles.

For example:

for (let i = 0; i < foodArray.length; i++) {
  console.log(`i value: ${i} | Food Name:`, foodArray[i]);
}

// Result:
// i value: 0 | Food Name: { name: 'Burrito' }
// i value: 1 | Food Name: { name: 'Pizza' }
// i value: 2 | Food Name: { name: 'Burger' }
// i value: 3 | Food Name: { name: 'Pasta' }

The code above can be rewritten as:

foodArray.forEach((food, index) => {
  console.log(`i value: ${index} | Food Name:`, food);
});

// Result:
// i value: 0 | Food Name: { name: 'Burrito' }
// i value: 1 | Food Name: { name: 'Pizza' }
// i value: 2 | Food Name: { name: 'Burger' }
// i value: 3 | Food Name: { name: 'Pasta' }

Reference: https://alligator.io/js/foreach-vs-for-loops/

Improve UI of the Web App

Frankly, the existing UI is ugly. It barely has any CSS rules.

Tasks:

  • Design the UI and add more CSS to improve its appearance.
  • Make the text box responsive to browser width.

This is an open question. You can improve the UI to your taste.

This is also up for discussion.

Design and implement a SMALL database of attractions for testing and development

If you're interested in working on this issue, please contact me. I have designed the data schema and some data in CSV files.

Is your feature request related to a problem? Please describe.

Design a small database for testing and development. For example, a limited number of National Parks or state parks in a given state.

Create a small database of 10-20 attractions, so that we can use it to develop core algorithms that can recommend road trip routes.

The area around Las Vegas is an ideal choice. There are many natural attractions within ~4 hours of driving, including Grand Canyon National Park, Death Valley National Park, Zion National Park, Bryce Canyon National Park, Horseshoe Bend, and Antelope Canyon.

Describe the solution you'd like

The database can be implemented in SQL (such as PostgreSQL or MySQL) or noSQL (such as MongoDB).

The database will be implemented with MongoDB.

Because it is difficult to pre-define the schema, given that:

  • Attractions of different types may have very different attributes.
  • When we scale this database up, we don't know what attributes will be included.

Therefore, a noSQL database (such as MongoDB) is an ideal choice.

The database will include at least the following info:

  • Name
  • Coordinates
  • Type of attraction (e.g. National Park, National Monument, National Historical Park, etc)
  • Hours
  • Entrance fee, annual pass
  • Campsite info
  • In-park lodging
  • Major attractions inside each park/attraction
  • Popularity, measured by, e.g., number of visitors (of last available year)

List top 5 most optimal routes instead of just the top 1

Is your feature request related to a problem? Please describe.

Currently, the app only shows the most optimal route (fastest route).

Feature request: I want the web app to show me top 5 most optimal routes, instead of just 1.

We probably need to modify or rewrite existing logic to implement this feature.

If there are fewer than 5 total possible routes, show all possible routes.

Simplify range(0, x) to range(x) in all Python files

Background

In Python, range(0, x) is equivalent to range(x), with x being an integer.

Task

Replace all range(0, x) instances with range(x) in all files in this repo.

At least, the following file contains range(0, x):

Please check if any other file contains range(0, x) instances.

Please refer to contributing guidelines for environment setup and workflow.

Should you have any questions, please don't hesitate to comment under this issue.

Impact

Completing this issue will simplify our code.

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.