All Projects → IsraelHikingMap → Site

IsraelHikingMap / Site

Licence: other
Israel Hiking Map has maps, route planning, and travel information for Israel. This repository holds the files needed for running the Israel Hiking Map site and apps.

Programming Languages

typescript
32286 projects
C#
18002 projects
HTML
75241 projects
CSS
56736 projects
SCSS
7915 projects
powershell
5483 projects

Projects that are alternatives of or similar to Site

vue-mapbox-map
A minimalist Vue component wrapping Mapbox GL or MapLibre GL for dynamic interaction!
Stars: ✭ 26 (-50%)
Mutual labels:  maps, maplibre-gl-js
optimized-route
Website that uses the Google Maps API to create an optimized route between waypoints. (My first website, from 2016).
Stars: ✭ 17 (-67.31%)
Mutual labels:  navigation, maps
Dual-color-Polyline-Animation
This library will help to show the polyline in dual color similar as Uber.
Stars: ✭ 73 (+40.38%)
Mutual labels:  navigation, maps
poor-maps
Maps and navigation for Sailfish OS
Stars: ✭ 42 (-19.23%)
Mutual labels:  navigation, maps
Osmscout Server
Maps server providing tiles, geocoder, and router
Stars: ✭ 105 (+101.92%)
Mutual labels:  navigation, maps
s60-maps
Yet another maps for Symbian OS
Stars: ✭ 27 (-48.08%)
Mutual labels:  navigation, maps
Pure Maps
Maps and navigation
Stars: ✭ 136 (+161.54%)
Mutual labels:  navigation, maps
organicmaps
🍃 Organic Maps is a free Android & iOS offline maps app for travelers, tourists, hikers, and cyclists. It uses crowd-sourced OpenStreetMap data and is developed with love by MapsWithMe (MapsMe) founders and our community. No ads, no tracking, no data collection, no crapware. Your donations and positive reviews motivate and inspire our small team!
Stars: ✭ 3,689 (+6994.23%)
Mutual labels:  navigation, maps
pix2pix
PyTorch implementation of Image-to-Image Translation with Conditional Adversarial Nets (pix2pix)
Stars: ✭ 36 (-30.77%)
Mutual labels:  maps
whereIsMyBusAndroidClient
No description or website provided.
Stars: ✭ 16 (-69.23%)
Mutual labels:  maps
more-menu-fields
Package to add more fields to WordPress menu edit screen.
Stars: ✭ 30 (-42.31%)
Mutual labels:  navigation
Smooth-Navigation
提供流畅的 Jetpack Navigation 转场体验。并解决 GitHub 上 Navigation Add Hide 修改版普遍存在的致命缺陷。
Stars: ✭ 204 (+292.31%)
Mutual labels:  navigation
android-deeplink-navigation
Example Android Application with (simplified) Deeplink Navigation.
Stars: ✭ 39 (-25%)
Mutual labels:  navigation
OL3-AnimatedCluster
OL3-AnimatedCluster is now part of the ol-ext project
Stars: ✭ 65 (+25%)
Mutual labels:  maps
robo-vln
Pytorch code for ICRA'21 paper: "Hierarchical Cross-Modal Agent for Robotics Vision-and-Language Navigation"
Stars: ✭ 34 (-34.62%)
Mutual labels:  navigation
react-keyview
React components to display the list, table, and grid, without scrolling, use the keyboard keys to navigate through the data
Stars: ✭ 16 (-69.23%)
Mutual labels:  navigation
hfos-legacy
Hackerfleet Operating System
Stars: ✭ 28 (-46.15%)
Mutual labels:  navigation
carto-print
A Python module to export images at any resolution, size and bounding box from a CARTO named map:
Stars: ✭ 18 (-65.38%)
Mutual labels:  maps
spider
A powful outdoor GPS track editor
Stars: ✭ 15 (-71.15%)
Mutual labels:  maps
rafagas
Daily geospatial links curated by Raf Roset
Stars: ✭ 17 (-67.31%)
Mutual labels:  maps

Intro

This repository holds the main server side module the web and mobile clients interact with, it also hold the web and mobile related code.

AppVeyor AppVeyor tests Codecov

Architecture Diagram

image

Technology stack

The technology stack of this site is based on the following frameworks:

Architecture and folder stucture of UI

The architecture is based heavily on Angular:

  • application - where all the application code is, topmost folder.
    • components - this layer handles the UI calls and bindings along with the relevant css and html files.
    • directives - folder for all the directives.
    • models - used to store data types that are common to the entire app.
    • reducers - used for redux reducers, actions and payloads.
    • services - this layer holds the lower level data handling.
      • layers - where the layers logic is - POI, route, wiki, nakeb, relevant services, etc...
  • content - used for images and static content.
  • environments - used for angular-cli to define production and dev variables.
  • fonts - icomoon generated font for icons instead of images.
  • scss - used for global style files
  • translations - all relevant data related to i18n.

Architecture of Server

The architecture is based on layers:

  • Contollers - the topmost layer to catch all the requests
  • Services - responsible for orchestrating executors
  • Converters - converters logic between types of geo structures
  • Executers - basic logical building blocks
  • DataAccessInterfaces - a slim layer to decouple business logic from data access
  • DataAccess - database, file system and network request are processed in this layer
  • Common - Mainly for POCOs

Setting Up the Project for site Development (To setup iOS and Android follow the cordova guide)

In order to be able to build this site you'll need some tools:

  • Install Docker
  • Install .Net core SDK 5.0
  • Install node.js (16.13+).
  • Run from command line dotnet restore and after that dotnet build
  • Go to IsraelHiking.Web and run from command line:
    • npm install to install all npm packages for the client side code
    • npm run build to generate the Angular UI client. It should create wwwroot folder on a successful run
  • Run docker compose up graphhopper - it should fail for the first time
  • Run gh-update.ps1 (set chmod +x if needed) to generate the graphhopper routing data
  • Run docker compose up to load the rest of the sercives
  • Run dotnet run --project IsraelHiking.Web
  • If you want to update the translations or upload images from your debug environment, you'll need to add the following secrets to IsraelHiking.Web. Otherwise, skip this step.
    2017-10-22 10_47_32-
    In the secrets.json at the end there should be these fields.
    {
      "wikiMediaUserName": "your wikimedia user",
      "wikiMediaPassword": "your wikimedia password"
      "zanataUserName": "your zanata user",
      "zanataApiKey": "your zanata api key",
      "imgurClientId": "your imgur client ID"
    }
    

Starting a debug session

See the relevant page in our wiki

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].