Skip to content

samyak2403/Female-Fitness-Woman-Challenge

Repository files navigation

Women Home Workout App

Overview

The WomenHomeWorkout app is designed to offer a variety of fitness routines tailored for women. It includes features for workout tracking, progress monitoring, and more. This README provides a comprehensive overview of the project's dependencies, screenshots, and other relevant information.

Dependencies

Core Libraries

  • Kotlin Standard Library

    • implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    • Provides essential Kotlin language features and standard library functions.
  • AndroidX Libraries

    • androidx.appcompat:appcompat:1.2.0
      • Adds backward-compatible support for Android components and features.
    • androidx.core:core-ktx:1.3.2
      • Provides Kotlin extensions for core Android framework APIs.
    • androidx.constraintlayout:constraintlayout:2.0.4
      • Enables complex layouts with a flat view hierarchy.
    • androidx.legacy:legacy-support-v4:1.0.0
      • Support for older Android APIs.
  • Material Design Components

    • implementation 'com.google.android.material:material:1.2.1'
      • Implements Material Design components and themes.
  • Flexbox Layout

    • implementation 'com.google.android:flexbox:1.0.0'
      • Allows flexible box layout for arranging UI elements.

Image and UI Libraries

  • Glide

    • implementation 'com.github.bumptech.glide:glide:4.11.0'
      • Image loading and caching library.
  • Lottie

    • implementation "com.airbnb.android:lottie:3.4.0"
      • Renders animations in JSON format.
  • Horizontal Picker

    • implementation 'com.github.jhonnyx2012:horizontal-picker:1.0.6'
      • Custom view for horizontal pickers (currently commented out in the configuration).

Firebase Libraries

  • Firebase BOM (Bill of Materials)

    • implementation platform('com.google.firebase:firebase-bom:31.2.0')
      • Ensures compatibility and simplifies version management for Firebase libraries.
  • Firebase SDKs

    • implementation 'com.google.firebase:firebase-ads:21.3.0'
      • For integrating Google AdMob ads.
    • implementation 'com.google.firebase:firebase-analytics:21.2.0'
      • Provides analytics and event tracking.
    • implementation 'com.google.firebase:firebase-messaging:23.1.0'
      • Manages Firebase Cloud Messaging.
    • implementation 'com.google.firebase:firebase-perf-ktx:20.3.1'
      • Performance monitoring.
    • implementation 'com.google.firebase:firebase-crashlytics-ktx'
      • Crash reporting and analytics.

Networking and JSON Handling

  • Retrofit

    • implementation 'com.squareup.retrofit2:retrofit:2.6.1'
    • implementation 'com.squareup.retrofit2:converter-gson:2.6.1'
      • Type-safe HTTP client with JSON conversion via Gson.
  • Gson

    • implementation 'com.google.code.gson:gson:2.9.0'
      • Converts Java objects to and from JSON.

Background Work

  • WorkManager
    • implementation 'androidx.work:work-runtime-ktx:2.7.1'
      • Manages deferrable background tasks.

In-App Purchase and Ad SDKs

  • AppLovin SDK

    • implementation 'com.applovin:applovin-sdk:+'
      • SDK for in-app advertisements. (Consider specifying a fixed version instead of +.)
  • Facebook Audience Network SDK

    • implementation 'com.facebook.android:audience-network-sdk:6.+'
      • SDK for integrating Facebook ads. (Consider specifying a fixed version instead of 6.+.)
  • Google Play Core

    • implementation 'com.google.android.play:core:1.10.3'
      • Manages in-app updates and reviews.

Screenshots

Here are some screenshots showcasing the main features of the WomenHomeWorkout app:

Home Screen

Screenshot 2 *The Home Screen provides an overview of available workout routines and user progress.*

Workout Routine

Screenshot 2 Screenshot 2 *Detailed view of a selected workout routine.*

Progress Tracking

Screenshot 2

Tracks user progress and workout history.

Settings

Screenshot 2

User settings and preferences.

Building the Project

  1. Setup

    • Ensure you have Android Studio and the latest Gradle installed.
  2. Sync Project

    • Sync the project with Gradle files to resolve dependencies.
  3. Build and Run

    • Build and run the app on an emulator or a physical device.

Notes

  • For certain libraries like AppLovin SDK and Facebook Audience Network SDK, it's recommended to specify exact versions to ensure stability.
  • The horizontal-picker dependency is commented out. Uncomment and configure if needed.

Troubleshooting

  • If you encounter issues, ensure all dependencies are correctly added and up-to-date.

  • Refer to the official documentation of each library for specific integration guidelines and troubleshooting.

  • Contributing

We welcome contributions to the WomenHomeWorkout app! Whether you want to report a bug, suggest a feature, or contribute code, here’s how you can get involved.

How to Contribute

  1. Fork the Repository

    • Click the "Fork" button at the top right of this repository page to create your own copy of the repository.
  2. Clone Your Fork

    • Clone your forked repository to your local machine using:
      git clone https://github.com/samyak2403/Female-Fitness-Woman-Challenge.git
  3. Create a New Branch

    • Create a new branch for your feature or fix:
      git checkout -b my-feature-branch
  4. Make Changes

    • Make your changes to the codebase. Ensure that you follow the coding style and conventions used in the project.
  5. Write Tests

    • If applicable, add or update tests to cover your changes.
  6. Commit Your Changes

    • Commit your changes with a clear and descriptive commit message:
      git add .
      git commit -m "Add a descriptive message about your changes"
  7. Push Your Changes

    • Push your changes to your forked repository:
      git push origin my-feature-branch
  8. Create a Pull Request

    • Go to the original repository and click on "New Pull Request."
    • Select your branch and submit the pull request. Provide a clear description of your changes and the purpose of the pull request.

Reporting Issues

If you encounter a bug or have a question, please follow these steps:

  1. Search for Existing Issues

    • Before creating a new issue, check the existing issues to see if your problem has already been reported.
  2. Create a New Issue

    • If your issue is not listed, open a new issue with a clear and descriptive title. Include:
      • A detailed description of the problem or feature request.
      • Steps to reproduce the issue (if applicable).
      • Any relevant screenshots or error messages.

Suggesting Features

If you have an idea for a new feature or improvement:

  1. Search Existing Feature Requests

    • Check the existing issues to see if your feature has already been suggested.
  2. Submit a Feature Request

    • Open a new issue and provide a detailed description of your suggestion. Include:
      • The problem or need your feature addresses.
      • How the feature would benefit users.
      • Any additional context or examples.

Code of Conduct

Please follow our Code of Conduct when participating in the community and contributing to the project.

Style Guide

  • Follow the existing code style used in the project.
  • Ensure your code is well-documented and includes comments where necessary.
  • Use clear and descriptive commit messages.

License

By contributing to this project, you agree that your contributions will be licensed under the MIT License.

Thank you for contributing to WomenHomeWorkout! Your help makes the project better for everyone.