Trevello is a travel journaling Android application built with Kotlin. It allows users to document their travel experiences and visualize them on a map. With Trevello, you can add entries for each location you visit, complete with title, description, and images. These entries are then marked on a Google Map, allowing you to see your travel journey unfold. Whether you're a casual traveler or a seasoned adventurer, Trevello is designed to make your travel journaling experience seamless and enjoyable.
-
User Authentication: Allows users to create an account and log in to access their personal travel journals via phone number and otp.
-
Travel Journaling: Enables users to add entries for each location they visit. Each entry includes a title, description, and images.
-
Map Visualization: Marks each entry on a Google Map, allowing users to visualize their travel journey.
-
Location Services: Uses the device's location services to provide real-time location updates.
-
Custom Map Markers: Uses custom map markers to represent different locations on the map.
-
Navigation: Includes a bottom navigation bar for easy access to different sections of the app.
-
Permissions Handling: Handles location permissions, requesting them from the user if not already granted.
-
Snackbar Notifications: Uses Snackbar notifications to provide feedback to the user.
-
Profile Viewing: Allows users to view their profile information, including their avatar, full name, and email.
-
Profile Editing: Enables users to edit their profile information, including their avatar, full name, and email. The application also validates the input data to ensure it is in the correct format.
-
Theme Switching: Allows users to switch between light and dark themes. The application saves the user's theme preference and applies it when the user reopens the application.
-
Logout: Allows users to log out of their account. After logging out, they are redirected to the startup page.
-
Image Handling: Allows users to change their profile picture by either taking a new photo or choosing one from the gallery. The application handles image picking and camera access.
-
Firebase Integration: Uses Firebase for user authentication. User profile data is stored in a Firestore database, and profile pictures are stored in Firebase Storage.
Phone Number: 0770123456
OTP Code: 135246
Before you begin, you should have already downloaded the Android Studio SDK and set it up correctly. You can find a guide on how to do this here: Setting up Android Studio.
-
Clone the repository using HTTP: git clone https://github.com/ManethSW/trevello.git
-
Open Android Studio.
-
Click on 'Open an existing Android Studio project'
-
Browse to the directory where you cloned the trevello repo and click OK.
-
Let Android Studio import the project.
-
Build the application in your device by clicking run button.