Skip to content

Releases: Pizzabagarn/WellnessQuests

WellnessQuest v4.0 – Final Submission

Choose a tag to compare

@Pizzabagarn Pizzabagarn released this 08 Jun 12:50

Final submission for the course "System Development and Project" (VT25)

This release includes the final version of the WellnessQuest Android application.

WellnessQuests

WellnessQuests is an Android application that combines physical and mental health with game mechanics. Users complete quests, collect coins, and progress through an interactive level-based map. The application is developed in Android Studio using Java and follows the MVVM architecture pattern with DataBinding, LiveData, and Firebase integration.

This submission corresponds to tag v4.0, which includes quest verification via ML Kit, a dynamic level system, sound-effects, music, and improved project structure for evaluation.


Download the Project

  1. Visit the GitHub repository:
    https://github.com/Pizzabagarn/WellnessQuests

  2. Navigate to the Releases or Tags section.

  3. Locate the tag v4.0.

  4. Click Download ZIP to download the source code.

  5. Extract the ZIP file to a folder on your computer.


Requirements

  • Android Studio (recommended version: 2022.3 "Electric Eel" or later)
  • Java 17
  • Gradle (automatically handled by Android Studio)
  • A physical Android device or emulator
  • Internet connection (for downloading dependencies)

Firebase configuration:

For testing purposes, you need to place the google-services.json file into the Android project at:

If you are using the ZIP version provided via Canvas (final submission), the file is already included in the correct location.
If you downloaded the project from GitHub, this file is not included due to security reasons. Please contact the development team or set up your own Firebase project and add your own google-services.json.


How to Run the Application

  1. Open Android Studio.

  2. Select Open and navigate to the extracted WellnessQuest folder.

  3. Wait for Android Studio to sync the project and download required dependencies.

  4. Copy the google-services.json file into WellnessQuest/app/.

Note: For the final submission (ZIP version), the google-services.json file is already included in the correct directory (app/) and does not need to be added manually. This only applies if you are using the provided ZIP archive instead of cloning the project from Git.

  1. Open Device Manager in Android Studio (top-right corner), and create a virtual device:
  • Choose a device type (e.g., Pixel 5)
  • Select a system image (e.g., API 33)
  • Click Finish, then press Play to start the emulator
  1. Press the green Run 'app' button to build and launch the application.

Note: The first build may take a few minutes due to Gradle sync.


Features

  • Firebase Authentication: Register and log in with email and password

  • Cloud Firestore: Coins, level data, and quest status are saved in the cloud

  • DataBinding and LiveData: UI elements update in real-time as data changes

  • Quest system: Each quest contains:

  • Title, description, and category (e.g., "Mind", "Fitness")

  • Coin reward

  • A list of valid image tags for verification

  • ML Kit Integration:
    During quest verification, users upload or capture a photo. ML Kit analyzes the image locally and compares it to the expected tags. If matching, the quest is automatically marked as complete.

  • Interactive Level Map:
    Each level contains 8 quests. Users unlock levels using coins and can tap each level node to view information.

  • Offline support:
    Basic functionality such as quest display and UI navigation may work offline after login, but the app requires an internet connection to log in and to sync data with Firestore. Offline support is limited and not fully implemented in this version


Authors

  • Alexander Westman
  • Mena Nasir
  • Gen Félix Teramoto
  • Lowisa Svensson Christell

License

This project is for educational purposes and part of a university course (System Development and Project, Spring 2025).

WellnessQuests v3.0

Choose a tag to compare

@Pizzabagarn Pizzabagarn released this 18 May 12:09

WellnessQuests 🌿🎮
WellnessQuests är en Android-applikation som kombinerar fysisk och mental hälsa med spelmekanik. Användaren kan genomföra quests, samla coins och ta sig vidare på en interaktiv karta med nivåer. Applikationen är utvecklad i Android Studio med Java och använder MVVM-arkitektur med databinding, LiveData och Firebase.

Versionen som lämnas för granskning är taggad som v3.0. Denna version innehåller bland annat quest-verifiering med ML Kit och ett nytt nivåsystem.

📦 Ladda ner projektet
Gå till GitHub-repot: https://github.com/Pizzabagarn/WellnessQuests

Klicka på fliken "Releases" eller "Tags"

Leta upp taggen v3.0

Klicka på "Download ZIP" under v3.0 för att ladda ner källkoden

Extrahera ZIP-filen till en mapp på din dator

🚀 Starta applikationen
🔧 Krav
Android Studio (rekommenderad version: 2022.3 (Electric Eel) eller senare)

Java 17

Gradle (används automatiskt via Android Studio)

En fysisk Android-enhet eller emulator

Internetanslutning för att ladda ner beroenden

Google Services JSON-fil:

För testning, lägg medföljande google-services.json-fil (som ligger i samma mapp som denna README, under readme&json) i Android Studio-projektet.

Den ska placeras i WellnessQuest/app/-mappen, det vill säga samma mapp som innehåller build.gradle för modulen app.

💻 Steg-för-steg (Android Studio)
Starta Android Studio.

Välj "Open" och navigera till den extraherade mappen (WellnessQuest).

Vänta medan Android Studio synkroniserar projektet och laddar beroenden.

Kopiera in filen google-services.json från samma mapp som readme ligger i canvas, till mappen WellnessQuest/app/.

Öppna Device Manager (uppe till höger i Android Studio) och klicka på "Create Device" för att skapa en emulator:

Välj enhetstyp (t.ex. Pixel 5)

Välj en system image (t.ex. API 33)

Klicka på "Finish" och sedan "Play" för att starta emulatorn

Tryck på den gröna ▶️-knappen (Run ‘app’) för att bygga och starta appen.

Obs: Första gången kan det ta några minuter att bygga projektet på grund av Gradle-synk.

📱 Funktionalitet
Firebase Authentication – Registrera och logga in med e-post och lösenord

Firestore – Coins, nivådata och quests sparas i molnet och laddas vid inloggning

Databinding + LiveData – Coins och quests uppdateras direkt i gränssnittet

Quest-logik – Varje quest har:

Titel, beskrivning, kategori (t.ex. “Mind”, “Fitness”)

Belöning i coins

Ikon

ValidTag-lista för bildverifiering

ML Kit-integration – När ett quest ska verifieras får användaren ta eller ladda upp en bild. Bilden analyseras lokalt med ML Kit för att jämföras med questets taggar. Om taggarna matchar godkänns questet automatiskt.

Dagbokssystem – Efter verifiering sparas en dagbokspost med bild och textbeskrivning av questet.

Interaktiv nivå-karta – Varje nivå innehåller 8 quests. Användaren låser upp nästa nivå med coins och kan klicka på varje nivå för att visa detaljer i en toolbox.(Finns men inte släppt än i denna versionen)

Offline-stöd – De flesta funktioner fungerar utan konstant internetförbindelse (undantaget inloggning och databassynk).

v2.0

Choose a tag to compare

@Pizzabagarn Pizzabagarn released this 24 Apr 09:03

Denna version är ett stort steg från vår första demo (v1.0). Nu har vi kopplat appen till Firebase och börjat implementera faktisk spelmekanik med questbelöningar.

🔧 Ny funktionalitet i v2.0:
✅ Firebase Authentication: Användare kan nu registrera sig och logga in via e-post & lösenord.

✅ Firestore: Coins och användardata sparas nu i molnet (Firebase Firestore) och laddas in vid inloggning.

✅ Testknapp för coins: En testknapp finns på hemskärmen som lägger till 1 coin och uppdaterar både gränssnittet och Firebase.

✅ Databinding + LiveData: Coins uppdateras automatiskt i gränssnittet utan att sidan behöver laddas om.

✅ Quest-logik: Quests har kategorier ("Mind", "Fitness") och visas i en lista där varje quest har ikon, beskrivning och coin-belöning.

v1.0-Demo

Choose a tag to compare

@lowisacs lowisacs released this 04 Apr 12:14

Version inför kamratgranskning 1