Skip to content

Ridge Walker is a web app designed to make viewing, updating, and providing access to cave locations to members easier.

Notifications You must be signed in to change notification settings

kmichael500/ridge_walker

Repository files navigation

Features

Cave Locations

  • View all 10,000+ caves in the database.
  • Search by property (length, pit depth, county, etc)
  • View all information and any available maps on a specific cave.
  • Add a new cave or make changes to an existing one.
Point Information Point List
Add a Point Advanced Search

Dashboard

  • View submissions created by the logged-in user.
  • View or upload dead leads (karst features people have confirmed are not a cave).
  • Download all points as GPX or CSV with all the latest information.

Map

  • View all points on a map.
  • View dead leads (karst features people have confirmed are not a cave).
  • Points are clustered if zoomed out to increase efficiency.
  • Get information on a point by clicking it.
  • Search cave locations or places.
  • Use a Topo, 3DEP Elevation (Lidar), and OSM map layer.
Clustered Points Search Dead Leads

User Directory

  • View all registered users.
  • Make certain fields private (address, phone number, etc).
  • Search all users.
User Directory User Settings

User Roles

Admin

  • Can accept, reject, or modify proposed changes to a cave location.
  • Can accept, reject, or modify new cave submissions.
  • Approve users who request a membership.
Review Approve/Reject Changes

Users

  • Once approved, have access to all cave locations, maps, etc.
  • Can propose changes and add new caves to the database.
  • Add leads that have been checked and don't go anywhere.

Home Page

Technologies Used

Server: Node, Express, Passport, MongoDB, and Typescript

Client: React, Passport, Leaflet, and Typescript

How to Run

After installing NodeJS you will need to setup a few config files.

The server has been removed from this repository and is now located here.

Client config

// edit the ./src/config/urlConfig.ts file
const serverBaseURL = process.env.REACT_APP_SERVER_BASE_URL
  ? process.env.REACT_APP_SERVER_BASE_URL
  : 'http://your_ip_here:5000/';
const siteBaseURL = 'http://server_url_or_ip_here:3000/';

export {serverBaseURL, siteBaseURL};

Server config

# create a .env file in the project root dirrecotry
MONGOURI=mongo_connection_string_here

Install dependencies

# Install required global dependencies
npm i typescript -g
npm i ts-node -g

# Install required server dependencies
npm i

# Install required client dependencies
npm i

Starting the server

# Start running the server
npm run dev

Starting the client

# Start running the client
npm start

Registering a user

In your web browser, navigate to http://your_ip_address:3000/register

To create the first admin user, modify the role property of the user document. Change the role from User to Admin.

Uploading data

In you web browser, navigate to http://your_ip_address:3000/upload

The screenshots here contain fake data, as the data that this project is meant for is proprietary. If you would like to test this out, fake data has been provided in a CSV file for you to upload.

About

Ridge Walker is a web app designed to make viewing, updating, and providing access to cave locations to members easier.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages