Elena is an app for computing the elevation gain in map navigation that runs on Express Server. You can select the start and end points and then calculate the minimum elevation gain or maximum elevation gain by limiting the percentage of the shortest path. The app is used by runners, bikers, walkers and drivers. Users have different options to decide if they want to find a smoother path or a steeper path.
MAKE SURE you in the Backend
folder
Use npm
to install all necessary dependencies
npm install
Due to the computation power limit, this app is restricted to be UMASS Amherst area. If you want to change the boundary. Go to enum.js
where you can specify the boundary as left,bottom,right,top
As example here
const UMA_BOX = [-72.5381, 42.375, -72.5168, 42.398];
const CAR_HIGHWAY = [
"primary",
"motorway",
"secondary",
"tertiary",
"unclassified",
"residential",
"trunk",
"service",
"road",
"primary_link",
"trunk_link",
"secondary_link",
"tertiary_link",
];
const CAR_settings = {
// Define my settings
bbox: UMA_BOX,
highways: CAR_HIGHWAY,
timeout: 2000000000,
maxContentLength: 3000000000,
};
npm start
Once log shows data is loaded, you can open index.html via frondend
folder to make request
More conveniently, we also use swagger to generate our api documentation, once the server is up.
Visit localhost:3000/api-docs
to see the api doc and test it out
We provide two commands to run the test suites which produce the line coverage report power by Istanbul.
npm run coverage-html
This command will run the test suites and generate the report in coverage
folder.
npm run coverage-text
This command will run the test suites and generate the report in the console with plain text
Avatars | Name | GitHub |
---|---|---|
Jiafeng Li | Jiafeng-Li95 | |
Shing Hong Lau | hilshong2580 | |
Qiming Chen | Qiming-C |
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.