Skip to content

Software Engineering project: a web app for avid hikers to explore nature trails and track their hiking activities.

Notifications You must be signed in to change notification settings

ykIsCoding/PeakVisor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PeakVisor

A one stop platform for the nature trail lovers and avid hikers
Made For SC2006 Software Engineering

deprecated JavaScript Express.js JavaScript Express.js JavaScript Express.js Express.js JavaScript Express.js Express.js ChatGPT

Note

This repository has been deprecated for cost reasons. The API services used have been deactivated and no longer work. You may wish to view the demo video of the website instead.

Showcase


Demo Video

We leveraged on influencer marketing to promote our application Watch the demo video

Team Members

  1. Jeannie Wong
  2. Lim Yong Kang (ykIsCoding)
  3. Ben Yew (malepsyche)
  4. Brendan Yap
  5. Chong Choy Jun
  6. Lucas Ng

Installation

After cloning from Github, run npm install to install the dependencies in backend 2, backend, and frontend.

Frontend

  • Run ng serve --open inside frontend to serve it on the browser
  • AngularJS w/ Typescript
  • Bootstrap

Backend

  • Run npm run dev inside backend to start the backend server
  • NodeJS w/ TypeScript
  • ExpressJS
  • Webpack bundler

Backend 2

  • Run npm run serve inside backend2 to start the backend2 server
  • NodeJS
  • ExpressJS

Features

  1. AI powered location information to provide users with more information of places
  2. Users can connect their Strava accounts to get their activities
  3. Users can view hiking events
  4. Users can view trails

Design Features

  1. Fully responsive web design to ensure a smooth and consistent user expeierence across devices
  2. 2 Backend servers to ensure system reliability and optimal application speed
  3. Strict authentication guards to prevent unauthorised access to protect users' data
  4. Accomodative design to allow users seamless recovery of account if they forget password
  5. Accomodative design to allow users seamless recovery of account if they deleted their account by accident as they have 7 days to log back in to cancel the deletion

APIs and Services Used

StravaAPI

  • StravaAPI endpoints exist on Backend
  • Best practices used includes:
  1. Seperation of concerns via MVC (Model-View-Controller) architecture
  2. Decoupled Models, Controllers and Services via Dependency Injection
  3. Secure Oauth 2.0 Http Transactions

Google Maps

  • Exists on Frontend
  • Makes dynamic requests to Google Maps API
  • Provides live frontend rendering of Google Maps

SerpApi

  • Gets images of the different places
  • API Limitation: 100 API calls/day for free plan that we are using
  • REST Architecture

OpenAI API (ChatGPT 3.5 Turbo)

  • Provides AI generated tips and information for the places

Meetup.com API

  • Provides data for the Events Page
  • GraphQL Architecture
  • OAuth required to get token

TripAdvisor API

  • Provides data for the Trails Page and Trails Information Page
  • REST Architecture
  • Limitation: 5000 free API calls/month, does not allow free plan users to query images

Firebase

  • Provides authentication and database storage support

Documentation

Documentation for the application's frontend be accessed at: here

Alternatively, visit: here

About

Software Engineering project: a web app for avid hikers to explore nature trails and track their hiking activities.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published