Skip to content

Repository files navigation

Stepling

Stepling is a gamified Android step-tracking application that combines daily walking goals with virtual pet care, progression, rewards, and customization.

Overview

The app is designed to encourage regular walking without requiring constant screen time. Users choose daily and weekly step goals, track their progress through Health Connect, and earn in-game rewards for reaching milestones.

Progression is tied to a virtual pet whose mood changes based on activity and care. Earned currencies can be spent on cosmetics and food, while the wardrobe and fridge systems let users customize and interact with their pet.

Features

  • Firebase email/password authentication
  • Daily and weekly step goals
  • Step tracking through Android Health Connect
  • Half-goal, full-goal, and weekly milestone rewards
  • EXP and level progression
  • Step Coin and Rest Coin currencies
  • Pet mood system based on goal progress, rest, and feeding
  • Rest-day mechanic with eligibility-based rewards
  • Cosmetic shop with level-based unlock requirements
  • Wardrobe for equipping and unequipping cosmetics
  • Food shop and fridge inventory
  • Once-per-day feeding interaction
  • Persistent user, inventory, and progression data with Firebase Firestore
  • First-time onboarding for pet naming, goal setup, and gameplay instructions
  • Editable daily and weekly goals
  • Portrait-oriented Jetpack Compose interface

Screenshots

Stepling Home Screen Stepling Shop Stepling Wardrobe Stepling Fridge

Technologies

  • Kotlin
  • Jetpack Compose
  • Firebase Authentication
  • Firebase Firestore
  • Android Health Connect
  • Android ViewModel / Compose state management
  • Gradle
  • Git

Project Structure

The project separates application responsibilities into several main areas:

  • data/auth – Firebase authentication and user-state persistence
  • data/firestore – shop, inventory, purchase, equipment, and food operations
  • data/health – Health Connect integration and daily step aggregation
  • data/model – user, item, and inventory data models
  • viewmodel – UI state and gameplay-related operations
  • ui – Jetpack Compose screens and reusable UI components
  • util – progression and pet-mood game logic

Gameplay Systems

Step Goals and Rewards

Users choose a daily step target and a weekly target based on the number of days they want to complete their daily goal.

The reward system processes several milestones:

  • Half of the daily goal
  • Full daily goal
  • Daily completion toward weekly progress
  • Weekly goal completion

Rewards include EXP and Step Coins, with safeguards to prevent the same milestone from being claimed more than once.

Pet Mood

The pet's mood responds to the user's activity:

  • Happy – daily step goal completed
  • Normal – at least half of the daily goal completed
  • Sad – below half of the daily goal
  • Resting – rest day selected

Using food can improve a sad mood for the day.

Shop, Wardrobe, and Fridge

Players can spend earned currency on cosmetic items and food. Cosmetics can have level requirements and can be equipped in different categories, while purchased food is stored in the user's fridge inventory and can be used once per day.

Requirements

  • Android Studio
  • Android SDK 26 or later
  • A compatible Android emulator or physical Android device
  • Health Connect support for step tracking
  • Internet connection for Firebase-backed account and game data

Running the Project

  1. Clone the repository:

    git clone https://github.com/RukiyeGms/Stepling.git
    
  2. Open the project in Android Studio.

  3. Allow Gradle to sync and download the required dependencies.

  4. Build and run the app module on an emulator or Android device.

  5. Grant Health Connect step-reading permission when prompted to enable step tracking.

Project Status

Completed academic Android project.

The project is not currently published on the Google Play Store.

Project Name Note

This project was originally developed under the working title WalkPet and was later renamed Stepling. Some internal package, class, or resource names may still reference the original name because the rename took place after the core development was completed. The current project name is Stepling.

About

Gamified Android step-tracking app with virtual pet care, progression, rewards, and customization.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages