Skip to content

A web application which finds the shortest or quickest path from two points in the city of Rio de Janeiro. Obviously not Waze. (final project for EDA @ EMAp, 2021)

Notifications You must be signed in to change notification settings

RafaelPortacio/notwaze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f63fc03 · Nov 17, 2021
Nov 16, 2021
Jun 29, 2021
Jun 27, 2021
Jun 29, 2021
Nov 17, 2021

Repository files navigation

Not Waze

Code organization

Our code is split into three components:

  • create_data (src/create_data);

    Creates/Fetches graphs and saves them in a specified JSON format;

  • backend (src/backend); and

    Transforms Latitude+Longitude into a node; Calculates the shortest path between two nodes; Provides an executable to try out the shortest path calculation; Provides an executable that serves a REST API;

  • frontend (src/frontend).

    Provides a nice user interface that uses the aforementioned REST API (provided by the backend) to calculate the shortest paths;

Dependencies

  • create_data
  • backend
    • conan (for automatic C++ dependency management)

      Note that our makefile already runs the necessary conan commands for you -- you just need to have it properly installed.

      Warning: If you are using GCC, make sure you run the "Important" box in step 5 of Conan's getting started guide, which is:

      conan profile new default --detect  # This will throw a big scary warning, but all it tells you is to run the following command:
      conan profile update settings.compiler.libcxx=libstdc++11 default

      This tells Conan to use the glibc++11 ABI. If you don't do it, then you'll have linking errors.

    • Other dependencies are automatically managed by conan.

  • frontend
    • Python 3 (for launching the web server via python -m http.server)

How to run

Web Frontend

Note that in order for the servers to run, we need both the 8000 and 8080 ports to be free.

Run:

make

This will, if necessary, generate the street graph, and then serve the backend and the frontend.

Once that's done, go with your browser to localhost:8000/.

Command Line Interface

Just run

make cli

Contributors

About

A web application which finds the shortest or quickest path from two points in the city of Rio de Janeiro. Obviously not Waze. (final project for EDA @ EMAp, 2021)

Resources

Stars

Watchers

Forks

Packages

No packages published