Eddie Sosera · 21100419
Let the Hunt begin!
View Demo
·
Report Bug
·
Request Feature
- About the Project
- Getting Started
- Features and Functionality
- Concept Process
- Development Process
- Final Outcome
- Conclusion
- Roadmap
- Contributing
- License
- Contact
- Acknowledgements
Dragonball Hunt is a mobile game which allows players to create and join hunts (tournaments) in your region. Players go on hunts to collect dragon balls nearby and the player with the most dragon balls at the end of the game wins and is awarded a Super Saiyan level increase.
The following instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Ensure that you have the latest version of Expo and React Native installed on your machine.
The Backend
for the app
The project utilized Firebase's services for backend functionality:
Firestore Database
was utilized for storing data.Firebase Authentication
was used to handle authentication-related services, like logging in and registering users.
-
Download the
Expo Go App
fromGoogle's Play Store
orApple's App Store
. -
Open any IDE.
-
Clone Repository
Run the following in the command line to clone the project:git clone https://github.com/eddiesosera/dbhunt-v1
Open `Software` and select `File | Open...` from the menu. Select the cloned directory and press `Open` button.
-
Install Dependencies
Run the following in the command line to install all the required dependencies:npm install
- After installing Expo on your mobile phone, open the Expo app.
- Ensure your computer and mobile device are on the same Wi-Fi network.
- Scan the QR code displayed in your terminal or browser within your Expo app.
- Your Expo app will load on your mobile device and changes you make to the code will auto-refresh on the device.
- Alternatively, after running your project you can open and access it using an emulator. Read more here.
- Join or Create a Hunt:
After creating your account, join an existing hunt in your area or create your own.
- Find and Collect Dragon Balls:
Search for and collect Dragon Balls during the hunt.
- View Hunt Information:
Access details about the hunt, including duration and rules.
- Check Leaderboard Rankings:
Monitor your ranking compared to other players on the leaderboard.
- Win the Tournament:
At the end of the tournament period, the player with the most Dragon Balls wins.
- Earn a Super Saiyan Level Boost:
The winner is awarded a Super Saiyan-level boost.
Enables users to create a new account
or log into their existing account
.
Users look for dragon balls
in different places on the map relative to their live location. If a dragon ball is collected it can no longer be collected again.
Users can join nearby hunts
to compete.
The leaderboard details all the contestants and their ranking in the hunt based on the dragonballs they collected.
Enables users to create their own hunts.
The Conceptual Process
is the set of actions, activities and research that was done when starting this project.
The Development Process
is the technical implementations and functionality done in the frontend and backend of the application.
- Using the Google Maps SDK led to many
"aha" moments
as I fully explored its capabilities. - I was proud to
reverse-engineer
addresses, converting between region names and coordinates. - Implementing
user registration
with Firebase Authentication and Firestore Database was another highlight. - Throughout the process, I learned when to appropriately use
asynchronous functions
. - Finally, I enjoyed
styling React Native
elements with the same flexibility as CSS.
- At the beginning of the project, I struggled to conceptualize how to use the Google Maps SDK to
obtain the user's address
and map the dragon balls relative to the user's locations. - Calculating the
game mechanics
for determining the winner and continuing the game was challenging.
Test 1 on iOS device:
- There were no UI issues on an iOS device.
Test 2 on Android device:
- There were no UI issues on an Android device.
- Refining the gaming mechanism and lifecycle of the game.
To see a run-through of the application, click below:
See the open issues for a list of proposed features (and known issues).
Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
-
Eddie Sosera - email@address - LinkedIn - Website - @instagram_handle
-
Project Link - https://github.com/eddiesosera/dbhunt
-
Backend Link - https://github.com/eddiesosera/dbhunt-backend
- PNGegg: for Dragonball Z images and illustrations.