Git Product home page Git Product logo

hangman-game-android's Introduction

Hangman Game

Hangman is an engaging word-guessing game where players select letters one by one to guess a secret word. The objective is to solve the word in the minimum amount of time and with the fewest guesses possible. Beware, too many incorrect guesses, and you'll lose, leading to the infamous "hanging" outcome.

Features

  • Pre-loaded Word List: The game comes with a pre-loaded list of words fetched from a remote service, which is loaded only the first time. Additionally, users can customize and add their own words to enhance the gameplay.

  • Share Results: Players have the option to share their game results with friends, allowing for friendly competition and sharing achievements.

  • Multiplayer Mode: Enjoy the game with friends in either cooperative or player-versus-player mode, adding an element of social interaction and fun to the experience.

  • Difficulty Levels: Words in the game have varying levels of difficulty, catering to players of all skill levels. Choose the difficulty level that suits you best and challenge yourself accordingly.

Technologies

This project leverages the latest and most cutting-edge technologies in the Android development world, including:

  • Modern UI with Jetpack Compose: Utilizing the power of Jetpack Compose to create elegant and interactive user interfaces, ensuring an immersive gameplay experience.

  • Modular Project Organization: Employing multi-modules and convention plugins for a well-organized and maintainable project structure.

  • Automated CI and Quality Checks: Implementing mobile development with automated Continuous Integration (CI) pipelines and thorough quality checks. This includes monitoring, build performance tests, and more, to ensure a smooth development process.

  • Kotlin Multiplatform (KMM): Using Kotlin Multiplatform to share business logic across platforms, maximizing code reuse and minimizing redundancy.

  • Automated Testing: The project features a comprehensive suite of automated tests, including unit tests, screenshot tests, and end-to-end tests, to maintain code quality and identify issues early.

Specific Technologies

The specific technologies employed in this project include:

  1. Platform Technologies:

    • KMM (Kotlin Multiplatform Mobile): Enabling the sharing of business logic between different platforms.

    • Compose Multiplatform: Facilitating the sharing of UI components across platforms.

    • Jetpack Compose: Creating Android-specific UI elements.

    • SwiftUI: Handling iOS-specific UI elements.

    • Gradle and Convention Plugins: Managing KMM and Android build logic efficiently.

    • CocoaPods & Xcode: Managing iOS-specific platform logic.

    • Ktor: Handling network requests.

    • SqlDelight: Providing local caching and storage.

    • Firebase SDK: Managing backend-related functionalities.

  2. Design Patterns:

    • MVI (Model-View-Intent): Handling UI state and logic, ensuring a reactive and maintainable UI.

    • Clean Architecture: Organizing the project for better separation of concerns and scalability.

    • Modularization: Dividing features into cohesive units for better maintainability and collaboration.

  3. Housekeeping and Code Quality:

    • Github Actions: Implementing Continuous Integration to streamline the development workflow.

    • Renovate: Automating dependency updates to ensure the project is using the latest versions.

    • Detekt: Performing code quality analysis to identify potential issues and ensure adherence to coding standards.

    • Kover: Monitoring code coverage to ensure adequate test coverage.

    • Gradle Profiler: Identifying and resolving build performance issues to optimize development speed.

Contribution

This project is open to contributions, and we welcome any feedback, bug reports, or feature requests from the community. If you'd like to contribute, please fork the repository and create a pull request.

License

hangman-game-android's People

Contributors

drawiin avatar renovate[bot] avatar

Watchers

 avatar

hangman-game-android's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

  • Update all dependencies (gradle, com.google.firebase:firebase-crashlytics-gradle, androidx.compose:compose-bom, androidx.activity:activity-compose, androidx.lifecycle:lifecycle-runtime-ktx, androidx.test.espresso:espresso-core, androidx.test.ext:junit, androidx.core:core-ktx, org.jetbrains.kotlin.android, org.jetbrains.kotlin:kotlin-gradle-plugin, com.android.application, com.android.tools.build:gradle, com.android.tools:desugar_jdk_libs)

Detected dependencies

gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
app/build.gradle.kts
build-logic/gradle.properties
build-logic/settings.gradle.kts
build-logic/convention/build.gradle.kts
gradle/libs.versions.toml
  • com.android.tools:desugar_jdk_libs 2.0.3
  • androidx.core:core-ktx 1.10.1
  • junit:junit 4.13.2
  • androidx.test.ext:junit 1.1.5
  • androidx.test.espresso:espresso-core 3.5.1
  • androidx.lifecycle:lifecycle-runtime-ktx 2.6.1
  • androidx.activity:activity-compose 1.7.2
  • androidx.compose:compose-bom 2023.06.01
  • com.android.tools.build:gradle 8.2.0-alpha15
  • com.google.firebase:firebase-crashlytics-gradle 2.9.8
  • com.google.firebase:perf-plugin 1.4.2
  • org.jetbrains.kotlin:kotlin-gradle-plugin 1.9.0
  • com.android.application 8.2.0-alpha15
  • org.jetbrains.kotlin.android 1.9.0
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.2.1

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.