Repository navigation
Releases: Pizzabagarn/WellnessQuests
Release list
WellnessQuest v4.0 – Final Submission
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
-
Visit the GitHub repository:
https://github.com/Pizzabagarn/WellnessQuests -
Navigate to the Releases or Tags section.
-
Locate the tag
v4.0. -
Click Download ZIP to download the source code.
-
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 owngoogle-services.json.
How to Run the Application
-
Open Android Studio.
-
Select Open and navigate to the extracted
WellnessQuestfolder. -
Wait for Android Studio to sync the project and download required dependencies.
-
Copy the
google-services.jsonfile intoWellnessQuest/app/.
Note: For the final submission (ZIP version), the
google-services.jsonfile 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.
- 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
- 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
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
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
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.