Skip to content
/ Guidely Public

A Flutter and Firebase app for hosting free walking tours with live location tracking, voice/text chat, and quizzes.

License

Notifications You must be signed in to change notification settings

hvlkk/Guidely

Repository files navigation

Guidely

Table of Contents

Description

Guidely is an application designed to allow users to host free walking tours, aiming at a more interactive user experience before, throughout, and after the tour. The front-end was developed using Flutter, and the back-end was developed using Firebase. A web server was also created using Flask, HTML, CSS and Javascript, in order to allow the administrators of the app to approve and reject tour guide applications.

Features

Notable features include:

  • Live location tracking for guides, allowing users to follow tours at their own pace.
  • Voice chat during tours, enabling users to listen to guides without interruption from noisy environments.
  • Text chat during tours for a more interactive user experience.
  • Quizzes created by the tour guide, available after a tour session.
  • Tour recommendation algorithm based on various factors.
  • Custom web server for administrators to manage tour guide applications.

Installation

  1. Install Flutter. You can follow the steps provided here.
  2. Clone the repository.
  3. Navigate to the directory you installed the repository in.
  4. Run flutter pub get, to ensure you have access to the flutter libraries used across the project.
  5. Open up an Android emulator, or an Android phone in developer mode that's connected to your computer. See the related Android Studio page for a guide on how to set up an Android Virtual Device.
  6. Run main.dart using either flutter run ./lib/main.dart from the CLI or 'Run Without Debugging' in Visual Studio Code under the Run tab.

Directory Structure

The source code is hosted inside the lib folder. Brief directory descriptions follow:

  • bloc: Business logic components used throughout the project.
  • configs & misc: Contain a single file each for the app config and global variables respectively.
  • models: Data models used throughout the project.
  • providers: Setup for the riverpod providers used across the project.
  • repositories: Adheres to the repository design pattern, used for database access.
  • screens: Screen widgets.
  • services: Services used throughout the project.
  • utils: Utility files used throughout the project.
  • web_server: Contains the code necessary to run the web server for tour guide application approvals and rejections.
  • widgets: Non-screen widgets used across the project.

Contributors

About

A Flutter and Firebase app for hosting free walking tours with live location tracking, voice/text chat, and quizzes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published