🗺️ Map Travelling App – (SwiftUI + MVVM + MapKit + Clean Architecture)
I developed a complete Map Places Travel App from the ground up, focused on helping users discover, explore, and save interesting locations while traveling. This project showcases my expertise in building interactive map experiences and location-based features using modern iOS tools and best practices. Our design prioritizes user-friendliness, ensuring a smooth and enjoyable Travelling journey. Key Features Implemented:
📍 Interactive Map with Annotations to show nearby places, attractions, and custom pins (MapKit).
🔍 Advanced Search Functionality for places by name, category, or proximity.
🏞️ Place Details Screen with photos, descriptions, and webview sites.
📌 Saved Places / Favorites feature with persistent storage.
🧭 Route and Navigation Support for selected destinations.
🧱 MVVM Architecture with Clean Code Principles.
📱 SwiftUI for a sleek and responsive user interface across iPhone and iPad.
- Swift Programming language - For interactive functionalities
- SwiftUI - For styling and layout, Animations & Smooth Transitions, and Enhancing user experience with SwiftUI animations.
- MVVM Architecture - For structuring the app, and Ensuring separation of concerns for better scalability.
Iphone & iPad |
---|
![]() |
Iphone & iPad |
---|
![]() |
Iphone & iPad |
---|
![]() |
Iphone & iPad |
---|
![]() |
🔹 Add Upload profile picture functionality for accounts
🔹 Implement Local storage to save products
🔹 Improve Animations and UI transitions
To install and run Map Travelling app, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/MohamedAboElsaud/Discover-Places-on-the-Map-App.git
-
Open the project in Xcode.
-
Build and run the project on your desired iOS 16+ device or simulator.
Open the MapApp.xcodeproj
file with Xcode and build the application in the simulator or on a device.
Contributions are welcome! If you have any ideas, suggestions, or improvements, feel free to fork this repository and submit pull requests. Feel free to open an issue or submit a pull request. Contributions are always welcome! 😊