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.
We leveraged on influencer marketing to promote our application Watch the demo video
- Jeannie Wong
- Lim Yong Kang (ykIsCoding)
- Ben Yew (malepsyche)
- Brendan Yap
- Chong Choy Jun
- Lucas Ng
After cloning from Github, run npm install
to install the dependencies in backend 2, backend, and frontend.
- Run
ng serve --open
insidefrontend
to serve it on the browser - AngularJS w/ Typescript
- Bootstrap
- Run
npm run dev
insidebackend
to start the backend server - NodeJS w/ TypeScript
- ExpressJS
- Webpack bundler
- Run
npm run serve
insidebackend2
to start the backend2 server - NodeJS
- ExpressJS
- AI powered location information to provide users with more information of places
- Users can connect their Strava accounts to get their activities
- Users can view hiking events
- Users can view trails
- Fully responsive web design to ensure a smooth and consistent user expeierence across devices
- 2 Backend servers to ensure system reliability and optimal application speed
- Strict authentication guards to prevent unauthorised access to protect users' data
- Accomodative design to allow users seamless recovery of account if they forget password
- 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
- StravaAPI endpoints exist on Backend
- Best practices used includes:
- Seperation of concerns via MVC (Model-View-Controller) architecture
- Decoupled Models, Controllers and Services via Dependency Injection
- Secure Oauth 2.0 Http Transactions
- Exists on Frontend
- Makes dynamic requests to Google Maps API
- Provides live frontend rendering of Google Maps
- Gets images of the different places
- API Limitation: 100 API calls/day for free plan that we are using
- REST Architecture
- Provides AI generated tips and information for the places
- Provides data for the Events Page
- GraphQL Architecture
- OAuth required to get token
- 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
- Provides authentication and database storage support
Documentation for the application's frontend be accessed at: here
Alternatively, visit: here