/mysights

Primary LanguageJavaScript

Personalized Sightseeing Tour with Mobile Device Technologies

Introduction

This project is part of a master's thesis titled "Personalized Sightseeing Tour with Mobile Device Technologies." The goal of this research is to study, design, and implement software for mobile devices that will act as an electronic tour guide for open areas of interest. Utilizing modern programming technologies such as React Native, this application aims to be functional on both tablets and smartphones.

Description

The primary objective of this thesis is to create a personalized sightseeing tour guide that leverages mobile device technologies. The application will offer users a unique and tailored experience when visiting various points of interest. By utilizing cutting-edge technologies, the software will provide an interactive and intuitive user interface, ensuring a seamless user experience.

Features

  • Personalized Tours: Create and customize tours based on user preferences and interests.
  • Interactive Maps: Navigate through points of interest with interactive maps and real-time location tracking.
  • Detailed Information: Access comprehensive information about each point of interest, including history, photos, and visitor tips.
  • Offline Mode: Download tours and access them without an internet connection.
  • Multilingual Support: Available in multiple languages to cater to a diverse user base.
  • User Reviews and Ratings: Read and contribute reviews and ratings for each location.

Technologies Used

  • React Native: A powerful framework for building native apps using React.
  • Expo: A set of tools and services built around React Native to help you build, deploy, and quickly iterate on iOS, Android, and web apps.
  • JavaScript: The main programming language used in the project.
  • Firebase: For user authentication, real-time database, and cloud storage.
  • Mapbox: For providing interactive and customizable maps.

Getting Started

Prerequisites

Before you begin, ensure you have met the following requirements:

  • Node.js (v14.x or later)
  • npm (v6.x or later) or yarn (v1.x or later)
  • Expo CLI (v4.x or later)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/personalized-sightseeing-tour.git
    cd personalized-sightseeing-tour
  2. Install the dependencies:

    npm install

    or

    yarn install
  3. Start the Expo development server:

    npx expo start

Running on a Device or Emulator

To run the app on an Android or iOS device/emulator:

  1. Ensure you have the Expo Go app installed on your device.
  2. Scan the QR code generated by the Expo CLI using the Expo Go app.
  3. Alternatively, use an Android or iOS emulator/simulator to run the app.

Project Structure

personalized-sightseeing-tour/
├── assets/           # Assets such as images, icons, etc.
├── components/       # Reusable components
├── screens/          # Screen components for different app views
├── navigation/       # Navigation configuration
├── services/         # Services for API calls and data handling
├── App.js            # Entry point of the application
├── app.json          # Expo configuration
└── package.json      # Project metadata and dependencies