Skip to content

Traveler: A Genshin-Inspired Mobile Slam Book Application Integrated Using Google Firebase and Authentication

Notifications You must be signed in to change notification settings

bernardjezua/traveler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Header

Welcome, Traveler!

Table of Contents

Program Description

Startup

Traveler is a mobile slambook application inspired by Genshin Impact that allows users to add, update, and delete their friends through a slambook form or a QR code. The slambook form contains Visions (Anemo, Cryo, Dendro, etc.) and Mottos that are quotes from various Genshin Impact characters!

Users can also add profile pictures of their accounts and friends. They can verify their friends by scanning a QR code containing their information, preventing any unauthorized modifications to the friend's details. However, the profile picture can still be edited regardless of the friend's status.

This application uses Dart as its programming language, Flutter for its SDK, and Google Firebase for the backend. Firebase Cloud Firestore is used for database collections, Firebase Authentication for user providers, and Firebase Storage for handling profile pictures. This project is an improved version of the past Kamisato Records and Firebase codes.

Features

  • User Authentication: Secure sign-in and sign-up using Firebase Authentication.
  • Slambook Form: Add and edit friends with customizable fields, including Visions and Mottos.
  • QR Code Scanning: Easily verify friends by scanning their QR codes.
  • Profile Picture Upload: Upload and edit profile pictures for yourself and your friends.
  • Real-Time Updates: Keep data synchronized across devices with Firebase Cloud Firestore.

Screenshots

  • Sign In Page:
    Sign In

  • Slambook Form:
    Slambook Form

  • QR Code Scanner:
    QR Scanner

  • Profile Management:
    Profile Management

Getting Started

Prerequisites

  • Flutter SDK: Install the latest version of Flutter.
  • Firebase Account: Set up a Firebase account and create a new project.

Installation

  1. Clone the Repository:
    git clone https://github.com/bernardjezua/traveler
    cd traveler
  2. Install Dependencies
    flutter pub get
  3. Connect to Firebase
    firebase login
    dart pub global activate flutterfire_cli
    flutterfire configure
    // DISCLAIMER: Set up your own firebase!
  4. Update google-services.json.
  5. Create the APK or run the app using Flutter.
    flutter build apk
    or
    flutter run

Usage

Sign In and Sign Up

  • Sign In: Users can sign in using their username and password.
  • Sign Up: Users need to provide their name, username, email, password, and contact number(s). Multiple contact numbers can be added.

Travel Buddies

  • View: Navigate to the "Friends List" section and you will see the list of friends you have. There is an option to view the information of that specific friend upon click.
  • Create: Navigate to the "Add Friend" section to fill in the slambook form OR navigate using the QR Scanner button/page to scan and it will be added automatically.
  • Update: Tap on a friend's profile to update their information (excluding name) OR scan using the QR code and it will update the information of them.
  • Delete: Click on the delete button and a dialog will pop up, asking if you are sure you want to delete your friend.

Traveler Profile

  • View: Navigate to the "View Profile" section and you will see your contact details, and the slam book information.
  • Create: You can create your own slambook information and this will appear below the contact details.
  • Update: Click on the edit button and update the slambook information you would like to be edited, except for the name.
  • Delete: Click on the delete button and a dialog will pop up, asking if you are sure you want to delete your slambook information.

QR Code Verification

  • Use the built-in QR code scanner through the floating action button or page to verify friends and access their information directly from the QR code.
  • If a friend does not exist in the list yet, they will be added automatically to the list
  • If a friend does exist, the data from the QR code will overwrite their current one instead of creating a new entity.

Save QR Code to Gallery

  • You can save a friend's QR code by going to their "View Friend" page in the friends list and select the "Generate" button below the slambook information. This will be stored in a folder called FriendQRs.
  • You can also do the same for user's QR code by going to their "View Profile" page in the dashboard or navigation drawer. This will be stored in a folder called TravelerQRs.
  • If you cannot search the QR code in the device, try to use the search function OR look in gallery.

Bugs

  1. If unverified friend has current profile picture, then the user updates profile picture, If you edit slam book info, it reverts back to the previous picture.
  2. If friend has profile picture, upon removal, it does not remove the state of the picture since it is dependent in the friends list page to retrieve the data.
  3. Upon Sign Up -> Log Out -> Sign In with Google -> Username and Password login is no longer available.

References

Footer

About

Traveler: A Genshin-Inspired Mobile Slam Book Application Integrated Using Google Firebase and Authentication

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published