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