Group Trekkers App. It's basically an App that users can use to organize group trekking trips.
- Authentication: Users can sign in with Google.
- Users can select destination locations to start trips
- Users can see other online users that are actively looking for people to trek with in real-time.
- Users can send trek requests to other active users.
- When a trek request is sent to a user, the user sees an alert box to either accept or reject the request. If the user accepts it, the user joins the host on that trekking trip. If the user rejects it, the host gets a notification that the request was rejected.
- Live Tracking- Users' locations are live-tracked in real-time.
- Users can end trips when they get to their destination.
- Users can continue trips if they close the app and open it again.
Live app is here : https://expo.io/@leksyib/treklite
Video Demo : https://www.youtube.com/watch?v=aVYqS45Lg4A
Backend : https://github.com/codinger41/treklite-backend
Step 1: git clone this repo:
Step 2: cd into the cloned repo:
Step 3: Install the Application with yarn
or npm i
Step 4: Get a Google Places API key and put it in the src/screens/LocationSelect/index.tsx
file on line 45.
Step 5: Follow These steps to setup your Google authentication client.
Step 6: Insert the neccessary client IDs in /src/screens/Auth/index.tsx
, from line 54.
Step 7: Create a Pubnub account and nsert the neccessary keys in /src/utils/pubnub.ts
.
- cd to the repo
- Run Build for either OS
- for iOS
- run
expo start --ios
- run
- for Android
- run
expo start --android
- run
This project adheres to Standard. Our CI enforces this, so we suggest you enable linting to keep your project compliant during development.
To Lint on Commit
This is implemented using husky. There is no additional setup needed.
Bypass Lint
If you have to bypass lint for a special commit that you will come back and clean (pushing something to a branch etc.) then you can bypass git hooks with adding --no-verify
to your commit command.
Understanding Linting Errors
The linting rules are from JS prettier-standard. Regular JS errors can be found with descriptions here, while React errors and descriptions can be found here.
Remaining Features
- When a user has accepted a request to trek with another user, route the user to the host's location first then initialize the trip on the other users' device.