A firebase enabled Android application built with Kotlin for my 4th Year, Semester 1 "Mobile App Dev" module for our first assignment.
Full Video Demo Of The App I Recorded For My Submission Can Be Seen Here:
First clone the repo at the master branch down to your machine.
git clone https://github.com/lukehalley/hillfort.git
Then open the project in Android Studio
navigate to the file located:
Hillfort/src/main/res/values/keys.xml
and find the following lines:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="mapsKey">[IN YOUR KEY HERE]</string> </resources>
replace [IN YOUR KEY HERE]
with your Google Maps API.
If you do not know how to get a Google Maps API here is a tutorial by Google
Finally connect your device or start an emulator and run the app! 😃
- Splashscreen
- Persitance for both Hillforts and Users using JSON
- Register and Login
- Using a "User" module with the details of user strored locally on the device with a JSON file.
- Password requires a double entry (to ensure change is correct)
- Empty field checking
- Material Design
- Flat and bright colours
- Modern UI
- Navigation drawer, Floating Action Button (FAB), Flat Icons
- CRUD Features
- Add a Hillfort
- View/Read a Hillfort
- Edit/Update a Hillfort
- Delete Hillfort
- Multiple Data Fields
- Title
- Description
- Additional Notes
- Visted (Switch/Boolean)
- Images (Up to 4 - can be loaded from devices gallery or taken by camera)
- Location with readable address (Google Maps with Geocoder)
- Empty field checking
- User Settings
- Edit Email
- Edit Password (with double entry to ensure change is correct)
- Empty field checking
- Pop Up Windows
- Used in multiple areas such as logging out (are you sure you want to logout?) and when deleting a hillfort (are you sure you want to delete this hillfort?) etc...
- New Features In 2.0
- Firebase Authentication
- Firebase Hillfort Data Using Realtime Database - Create, Read, Update Delete
- Firebase Database - used to store all four images
- Map View Of All Hillforts
- Rate Hillfort
- Mark As Favourite
- Current Location Detection
- Share Hillfort With Other Apps
- Landscape App Wide Support
- Bottom Nav
- Navigation Drawer