Coder Social home page Coder Social logo

jimmyangel / rikitraki Goto Github PK

View Code? Open in Web Editor NEW
18.0 6.0 7.0 19.97 MB

This repository contains the client code of RikiTraki.com, a map-centric hiking log web application.

License: MIT License

JavaScript 75.57% CSS 1.72% HTML 22.16% Batchfile 0.07% Shell 0.48%
gps mapping cesiumjs leafletjs visualization

rikitraki's Introduction

RikiTraki

This repository contains the client code for RikiTraki.com, a map-centric GPS track visualization web application.

The vision for this project is to create a free and open source and data capability for enabling a community of outdoor enthusiasts to share captured GPS tracks, visualize them over a variety of base maps as well as 3D terrain, and include useful descriptions and photographs of the destinations. The application can be used for mapping tracks of any outdoor activities such as biking, running and boating.

The server side code for the application is under the rikitrakiws repository here.

Run your own

  • Clone the repository
  • npm install
  • Make sure you have a copy of rikitrakiws up and running
  • npm run dev Development server
  • npm run build Build, result in public folder

RikiTraki is currently in beta release. Comments and feedback are greatly appreciated

rikitraki's People

Contributors

jimmyangel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

rikitraki's Issues

Error when uploading gpx

Hi Ricardo!
The following error appears when trying to upload one of our tracks created with osmand (attached):
"Please select a "good" GPX file (valid format with at least a track segment with elevation data)"
The file is a valid xml and it opens normally in JOSM.
Thanks!
Tassia.

2016-04-21_07-09_Thu.gpx.zip

startup issue

have rikitrakiws installed as per emptydb instructions, dump restored and running, nodejs v12.10.0, MongoDB server version: 4.2.0, API looks kosher:

mah@mah2:/tmp$ wget http://localhost:3000/api/v1/tracks
--2019-09-25 19:16:56--  http://localhost:3000/api/v1/tracks
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:3000... connected.
HTTP request sent, awaiting response... 204 No Content
2019-09-25 19:16:56 (0.00 B/s) - 'tracks' saved [0]

Access is properly logged:

mah@mah2:~/Ballon/src/rikitrakiws$ node rikitrakiws.js
[2019-09-25 19:11:42.701] [INFO] [default] - starting rikitrakiws { address: '::', family: 'IPv6', port: 3000 }
[2019-09-25 19:11:42.717] [INFO] [default] - connecting to database: mongodb://localhost:27017/rikitraki
[2019-09-25 19:16:56.326] [INFO] [default] - get tracks...
[2019-09-25 19:16:56.328] [INFO] [default] - query {}
[2019-09-25 19:16:56.341] [INFO] http - ::ffff:127.0.0.1 - - "GET /api/v1/tracks HTTP/1.1" 204 - "" "Wget/1.18 (linux-gnu)"
(node:9594) [DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated

calling the frontend from FF 69.0.1 via Apache reverse proxy, all fine up to the spinning wheel

I see NO outgoing connection from frontend to rikitrakiws - positive that config.js getApiBaseUrl returns 'http://localhost:3000/api'

This is what Webconsole tells me - does this ring a bell?

image

[wishlist] add motorized vehicle, boat or simply "other"

I know vehicles are not the focus of the application, but sometimes we need to take a bus or boat to complete our track, it would be useful to have some extra options for transportation mode. At least having an "other" would solve the issue.

Thanks!

Add the option to pin tracks to the surface of the 3D terrain

Currently, tracks are being visualized in 3D using the altitude information recorded by the GPS. Naturally, the data does not exactly match the altitude of the terrain model, resulting in tracks that look like they are floating over the terrain and/or sinking under it. Adding the pin option would draw the track exactly on top of the terrain model, which should provide a more “natural” view of the track.

Implement a more seamless transition between 2D and 3D visualizations

Right now, switching between these two modes require page reloads and using different libraries, Leaflet for 2D and Cesium for 3D. Cesium supports 2D visualization, so an easy way to do it is to just use Cesium instead of using two separate libraries. But I have been hesitant to do that because of the hefty resource requirements of Cesium, especially noticeable in mobile devices – it is good to have a “lite” path that works well on mobile. After the upgrade above, I will go ahead and re-evaluate the decision.

Apache reverse proxy config missing

would you mind adding your apache reverse proxy config? I suspice a problem but cant nail it yet

I had good success with nginx like so, but that's a different host and the current one is apache for now:

upstream rikitraki {
  server 127.0.0.1:1234 fail_timeout=0;
}


server {
    listen 80;
    server_name rikitraki.stiwoll.mah.priv.at;
    proxy_cache_valid 301 20m;
    return 301 https://$host$request_uri;
}


server {
  listen 443 ssl;
  server_name rikitraki.stiwoll.mah.priv.at;

  ssl on;
  include snippets/ssl-keys-rikitraki.conf;

  location / {
    proxy_set_header        Host $host:$server_port;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_redirect http:// https://;
    proxy_pass              http://rikitraki;
  }

}

rikitraki uses outdated modules: Cesium, jquery

Ricardo -

can I ask you to look into updating the module infrastructure of the frontend?

I've tried updating Cesium to master, as well as jquery2 (out of support) to jquery3 - both cause breakage , and I'm out of my depth in fixing these - I'm all into learning curves but that's a front too much for me ;-)

maybe Cesium should be a submodule?

where I want to eventually arrive is to add a way to add .glb files for aircraft animations (a glTF/glb file) - this would replace the icon derived from type of activity - and associate that with a track - could you hint me how to do that with a simple example?

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.