Skip to content

BlazekWasTaken/SeekMate

Repository files navigation

πŸ“± Relative Location of Two Smartphones

πŸ“ Table of Contents


1. πŸ’‘ Project Overview

1.1 Project Name

SeekMate – Hide and Seek game based on relative location of 2 phones connected via UWB technology.

1.2 Project Description

Utilizes Ultra-Wideband (UWB) technology to create a turn-based mobile game of Hide and Seek on Android. Seekers receive hints to locate the hider based on UWB proximity and direction.

1.3 🎯 Objectives

  • Develop an Android app capable of measuring the relative positions of two smartphones.
  • Analyze mutual location data, including accuracy measurements.

2. πŸ“‹ Team Project Summary

πŸ”— Go to Team Project Summary


3. πŸ“· Application User Manual

To provide a visual understanding of the app's interface and functionalities, we have compiled a collection of screenshots in a PDF document. You can access it using the link below:

πŸ”— View Application Manual (PDF)

4. ✨ Features

  • πŸ“± Relative Location Recording: Real-time measurement of relative positions between paired devices via UWB
  • πŸ”— Pairing UWB Phones via QR Code: Device pairing for improved convenience
  • 🎯 360Β° Directional Arrow: Visual arrow pointing to the other device, dynamically updating within 360 degrees
  • πŸ“ Accuracy Metrics: Display the location measurements.
  • ☁️ Cloud Integration: Synchronize data with cloud storage solutions.

5. βš™οΈ Technologies Used

The project uses the following technologies:

  • Kotlin: Primary programming language for Android development.
  • Supabase: Backend-as-a-Service for authentication and data storage.
  • Kotlin Supabase Client Supabase's Kotlin Android library
  • Android UWB Library: A library for Ultra-Wideband (UWB) proximity sensing and location tracking.

6. πŸ“ Diagrams

6.1 πŸ”„ Game Loop Flow

graph TD;
    A[Start Game Screen] --> B[Generate QR Code];
    B --> C[Player 2 Scans QR Code];
    C --> D[Game Created in Supabase];
    D --> E[Background UWB Connection Established];
    E --> F[Game Loop Starts];
    F --> G{Gameplay};
    G -->|Hider Plays Minigame for Points| H[Points Spent on Hints];
    G -->|Seeker Searches Hider| I[Seeker Buys Hints];
    G --> J{End Condition};
    J -->|Seeker Finds Hider| K[Seeker Wins];
    J -->|Time Runs Out, Hider Stays Hidden| Z[Hider Wins];
    K --> M[End Game Screen with Statistics of Each Player];
    Z --> M
Loading

6.2 πŸ“Ά UWB Page Access Flow

graph TD;
    A[User Onboarding/Login] --> B[Email Verification];
    B --> C[Demo Page Access];
    C --> D{Device Role Selection};
    D -->|Controller| E[Controlee Pairing];
    D -->|Controlee| E;
    E --> F[Start UWB Data Access];
    F --> G[Retrieve Data: Distance & Angle];
Loading

7. πŸ“Š Measurement Results

πŸ”— Go to Measurement Results


8. πŸ“œ System Requirements

  • OS: Android 15
  • AGP: Android Gradle plugin 8.8.0
  • Hardware: Devices with Ultra-Wideband (UWB) capability
  • Network: Access to internet for Supabase functionalities

9. πŸ› οΈ Application Configuration Instructions

πŸ”— Go to Instructions


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages