Skip to content

FindMe app made in Kotlin. Share your adventures with people around the globe!

Notifications You must be signed in to change notification settings

MarcoLoPinto/FindMe

Repository files navigation

FindMe is a fun and engaging mobile application that challenges users to guess locations based on photos posted by others. It combines social interaction with a gaming twist, as players navigate through a map to pinpoint the exact spot of the uploaded photo. The game tests geographical knowledge and offers a fun way to learn about new places!

This is a project made for the 2022-2023 course on Mobile Applications and Cloud Computing.

Features

  • Photo Sharing: Users can upload photos of their current locations.
  • Guessing Game: Players guess the location of each photo using a world map.
  • Hints: Receive hints about nearby landmarks or notable features to help pinpoint the location!
  • Distance-Based Scoring: Points are awarded based on how close the guess is to the actual location. The closer you are, the lower your score, with the goal of achieving the smallest possible score.
  • Global Leaderboard: Scores are averaged across all guesses to rank users globally, promoting consistent accuracy in guesses.
  • Interactive Map: Utilize an interactive map interface to pinpoint your guesses.
  • Multilingual Support: Fully localized interface in English and Italian to cater to a diverse user base.

Technical Architecture

FindMe follows the MVVM (Model-View-ViewModel) architecture complemented by Repository and DataSource patterns to ensure clean, manageable, and scalable code.

Screenshots

Guess the place List of hints
Guess Hints

Installation

To get started with FindMe, you will need to set up your own instance of the server. The repository containing the server code will be available here.

To correctly build the client, you have to make some simple steps:

  1. Add your google-services.json file from your Firebase Console in the app folder of this repo.
  2. Edit the firebase_id_token field in the strings.xml file with your Client Web ID. You can check it in your Firebase Console.
  3. Change the endpoint of your server in NetworkModule.kt.
  4. If you are using a local server, add the IP in network_security_config.xml.
  5. Compile the app and use it with the hosted server!

About

FindMe app made in Kotlin. Share your adventures with people around the globe!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages