Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/carloscga/tictactoe
TicTacToe game with clash royale UI style
https://github.com/carloscga/tictactoe
android dagger-hilt firebase jetpack-compose realtime-database
Last synced: 20 days ago
JSON representation
TicTacToe game with clash royale UI style
- Host: GitHub
- URL: https://github.com/carloscga/tictactoe
- Owner: CarlosCGA
- Created: 2024-10-04T21:24:28.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-11-11T08:31:05.000Z (3 months ago)
- Last Synced: 2024-11-19T06:00:22.032Z (3 months ago)
- Topics: android, dagger-hilt, firebase, jetpack-compose, realtime-database
- Language: Kotlin
- Homepage:
- Size: 5.53 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TicTacToe - Android Game App
TicTacToe game developed in Android with Kotlin programming language and Clash Royale UI style
## About
TicTacToe is fully developed by Carlos Cañete in Android Studio using the Android SDK. It is a game to learn and try something interesting things about firebase and jetpack compose UI customization.
## Architecture - MVVM (Model-View-ViewModel)
This architecture facilitates the separation of concerns, enhancing code maintainability and scalability by dividing it into three main components:
- Model: It manages the application's data and business logic.
- View: It represents the user interface and displays the data from the ViewModel.
- ViewModel: It acts as an intermediary between the Model and the View, managing presentation logic and updating the UI.## Layout - Jetpack Compose
Modern UI toolkit for building native Android apps using a declarative approach. It simplifies UI development by allowing developers to define how the UI should look directly in code, rather than using XML. It's used to create responsive and dynamic user interfaces more efficiently.
## Dependencies
- `Firebase`: Provides tools for backend services like authentication, database (Firestore, Realtime Database), cloud storage, and push notifications. It enables rapid app development with scalable, serverless solutions and real-time data sync. With built-in analytics and machine learning tools, Firebase supports feature-rich, data-driven Android apps.
- `Realtime Database`: Cloud-hosted NoSQL database that syncs data in real-time across connected clients. It supports offline access, allowing apps to work smoothly even without network connectivity. Ideal for collaborative and dynamic applications, it automatically handles data syncing and updates as users connect or disconnect.
- `LiveData`: Android Architecture Component that allows UI components to observe data changes while respecting their lifecycle, preventing memory leaks and crashes. It updates observers automatically, simplifying reactive UI patterns in MVVM architecture. MutableLiveData enables data updates, while LiveData ensures read-only access from the UI.
- `DaggerHilt`: Simplifies dependency injection by integrating Dagger with the Android components' lifecycle. Hilt automates the creation and management of dependencies, making configuration easier and improving development efficiency in Android.
- `Navigation`: Simplifies in-app navigation, managing fragment and activity transitions, and handling complex navigation flows. It enables safe argument passing between destinations and offers features like deep linking and back stack management. Designed for modularity, Navigation integrates seamlessly with ViewModel and LiveData in an MVVM architecture.## Screenshots
⚠️ Fow now, only HomeScreen has the "Clash Royale" UI style.
## Contributing
You can help the project by reporting bugs and making suggestions [here](https://github.com/CarlosCGA/tictactoe/issues).