Coinz is an Android application developed as a university project. It is a location-based game where players collect, deposit, and transfer coins that are spawned on a map in Edinburgh. The game utilizes real-life movement as players walk around to interact with virtual coins.
- Kotlin: Main programming language used for application development.
- XML: Used for designing the user interface.
- Gradle: Build system for managing dependencies and building the project.
- Firebase: Used for user management and as a database backend.
- MapBox: Integrated for building and displaying maps within the application.
- Java: Utilized for writing tests to ensure code quality and reliability.
- Coin Collection: Multiple types of coins are spawned on the map, and players can collect them by physically moving to their location.
- Achievemetns: While playing the game players can get achivements for doing certain tasks.
- Coin Deposit: Players can deposit collected coins into their virtual account.
- Messaging: The ability to transfer coins of different types to another user.
- User Management: Firebase is used for user authentication and management.
- Database backend: NoSQL Firestore database.
- Upon launching the application, users are prompted to log in or create an account.
- Once logged in, users can view the map with spawned coins marked around Edinburgh.
- Users can move around in real life to collect coins.
- Players can complete achivements by playing the game.
- Collected coins can be deposited into the user's account.
- Coins can be sent to another user.
Java was utilized for writing tests to ensure the reliability and functionality of the application.