This is a Mobile/Web social application that helps people to find the best hidden gems throughout the UK.
Using this app, a user is able to:
- Navigate through a map to check the hidden gems.
- Navigate through a list to achieve the same thing.
- Filter that list by categories.
- View individual hotspots/activities with their details such as images, description, categories, price, location, comments, and so on.
- Get the direction to that location.
- Sign up with Google, Twitter or Facebook.
A logged user, besides the previous features, is also ablte to:
- Log out.
- Comment on a secret hotspot.
- Add rating to that secret location.
- Report innapropiate content.
- Post new locations as long as the user is in the same location as the added place.
NOTE: The app can be deployed for mobile, however the styling is not currently responsive, it will be fixed ASAP since it is still in development and more features are coming soon.
You can watch the demo video of this app here.
To run the project locally follow these steps:
-
Fork this repository.
-
Clone your forked copy of repo
git clone https://github.com/<your-github-username>/motive-northcoders.git
- Install ionic CLI
npm install -g @ionic/cli@latest
- Install dependencies
npm i
or
npm install
- Setup Firebase configuration file
/// /src/firebaseConfig.js
export const firebaseConfig = {
apiKey: // API KEY HERE,
authDomain: // AUTHDOMAIN,
projectId: // PROJECT_ID,
storageBucket: // PROJECT_ID.appspot.com
};
Once done, you will have the following scripts to run and deploy the app.
- Run
ionic serve
- Build
ionic build
- Vue: JavaScript framework for building user interfaces.
- Ionic: An open source mobile UI toolkit for building modern, high quality cross-platform mobile apps from a single code base.
- Capacitor: An open source native runtime for building Web Native apps. Create cross-platform iOS, Android, and Progressive Web Apps with JavaScript, HTML, and CSS.
- Firebase Cloud Firestore: Flexible, scalable database for mobile, web, and server development.
- Firebase Authentication: To authenticate users to the app using identity providers in this case like Google, Twitter and Facebook.
- Firebase Cloud Storage: A powerful, simple, and cost-effective object storage service.
- Google Maps API: To display the interactive map view with the corresponding markers.
- Pinia state management: To handle user login data persistence.