As first time hackathon attendees, we were looking for a challenge where we could use something current in technology but at the same time learn something new we've never programmed with. Thats why we decided to take the Equip Challenge. We thought we could go ahead and develop an app (either iOS or Android) which we've never done before but wanted to do. Plus talking with the Equipo members was really inviting and encouraged us to proceed with their challenge. All in all, a good yet difficult challenge.
What it does
A mobile application that creates a network of users to share messages and other files. The important details was that the network would have ben included in a geo-fence. This means that originally, we were aiming to receive a push notification to the mobile device as soon as stepping inside a pre-defined geo-fenced area using ESRI geo-trigger API. This push notification would tell you about potential client.
Add fiends based on location
How I built it
As a team, we used Xcode and Parse framework to develop an Universal iOS app that is built for the iPhone 5 and above.
- We used Xcode to devlop a swift background with a storyboard interface that would allow us to hardcode and do user interaction with the UI.
- We included our Parse Framework
- We went ahead and obtained a devloper's license with Parse to gain access to the online portal and synch our app to their database.
- From the Parse Framework, we adapted with login textfield UI to allow users type into the username and password section of the phone, we well as when making a new account
- After making our account login screen and signup screen, we went ahead and make a single-view scene of a "ViewTable" where we could populate the list of friends of the current user. Additionally, we were able to make a "show" screen which moved us to a different page in the app that would allow the user to view and add person(s) in the network.
- Then we went ahead and wrote the algorithm with the help of online forums to take the query of friends the current user has and populate it into the "ViewTable" where we originally planned to show friends.
- After we were able to make our friends table, we also made a second home screen which was a camera screen where the user could select who they wanted to share an image with.
- One our third main home screen was our messaging field were we would populate our list of messages that the client has recieved. On the top right corner it also allowed for the client to send new messages
- One the new messages screen, the user is allowedto type into two text fields. The first being the subject and the second being the body. These two items would be synced online to a new class with an algorithm we wrote to organize the user message and subject.
- We included a logout button
- We made the add such that if the client doesnt click the logout button, it wont log out. But if the client does press the log out button, the client will have to relog back in.
- Lastly, Parse UI also has a reset password field that will actually send the client a password reset link to their email. All they need to do is type in their username
Challenges I ran into
- The way Parse handles the current user, we cannot convert the object into a string. it makes grabbing data from their database much more difficult to do
- Tried to impliment ESRI geo-fencing but their SDK was not compatible with swift
- We were able to write the algorithm to pull down messages, but we could not get it to work. We included success and error outputs and each iteration would pass through success
Accomplishments that I'm proud of
- Getting to learn Xcode
- Getting to learn Swift
- Learning how to use Parse SDK
What I learned
- Parse SDK
What's next for Biz-E-Bodies
Getting messages pulled down from the database correctly. Implimenting alternative geo-fencing