This application allows users to identify landmarks by uploading a photo. The backend predicts the landmark in the photo and displays detailed results to the user.
Note: This is the frontend repository for the Landmark Identification App. The backend repository with setup instructions can be found here.
The application is currently is not yet ready for production use.
-
Upload and Identify: Users can upload a photo from their gallery. The photo is processed in the backend to predict the landmark present in the image.
-
Detailed Results: The results page displays the landmark name, photos, location, details, facts, and more.
-
Save Landmarks: Users have the option to save landmarks for future reference.
-
Saved Landmarks: Users can view a list of their saved landmarks.
-
Text to Speech: This feature helps users learn about the landmark through audio narration.
-
Share Landmark: Users can share the landmark with others through various social media platforms.
-
Explore Landmarks: Users can explore a list of landmarks and view detailed information about each landmark.
-
Google Maps Integration: The explore page displays landmarks on an integrated Google map.
-
User Account Management: Users can create and login to their account, edit their profile, change their password, delete their account, and manage their login status.
-
Prediction History: Users can view a list of landmarks that they have previously predicted.
-
About Us: This section introduces the creators of the application.
Gantavya.mp4
This project uses the following key technologies:
- React Native: A JavaScript framework for writing real, natively rendering mobile applications for iOS and Android.
- Expo: A framework and a platform for universal React applications.
- React Navigation: Routing and navigation for your React Native apps.
- Axios: Promise based HTTP client for the browser and node.js.
- React Native Maps: A tool that provides custom maps for React Native.
- React Native SVG: SVG library for React Native, React Native Web, and plain React web projects.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
- Node.js and npm: You can download Node.js from here. npm is included with Node.js.
- Expo CLI: Install it by running
npm install -g expo-cli
in your terminal. - Expo Go: This is the Expo client app for Android and iOS, which will allow you to open your app on your device. You can download it from the App Store or Google Play Store.
- Android Studio (optional): If you want to use an emulator on your PC for testing, you can download Android Studio from here.
-
Clone the repo:
git clone https://github.com/Gantavya-app/gantavya-frontend.git
-
Navigate into the project directory:
cd gantavya-frontend
-
Install the dependencies:
npm install
oryarn install
-
Edit the 'env.js' file in the root directory and add the following environment variables:
API_URL = "<backend_url>"
Replace
<backend_url>
with the URL of the backend server.Note: The backend server should be running before starting the frontend server. You can find the backend repository here.
-
Start the development server:
npm start
oryarn start
This will start the development server. You can now run the app on your physical device by scanning the QR code with the Expo Go app, or on an emulator by pressing a
for Android or i
for iOS in the terminal.
For more detailed instructions, please refer to the Expo documentation.
We welcome contributions to this project. If you're interested in contributing, you can do so in the following ways:
- Issue Reporting: If you find a bug or want to suggest a new feature, please report it in the issue tracker.
- Submitting Pull Requests: If you've fixed a bug or developed a new feature, we would love to include it in our project. Please submit a pull request with your changes.
Before contributing, please make sure to read and follow our code of conduct.
This project is open source under the MIT license. This means you are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the software, under the following conditions:
- You must give appropriate credit, provide a link to the license, and indicate if changes were made.
- You may not use the material for commercial purposes.
- If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
- Sandesh G.C. (Frontend Development)
- Logo made by Indra Prasad Paneru
- Backend Development by Rupesh Ghimire
- Data Collection, Data Annotation, and Model Training by Samir Gurung and Subek Sharma