Inspiration
Primarily, we wanted to tackle the mental health category since one of our members is heavily interested in the field of Neuroscience along with Computer Science. On the car ride we discussed different ideas and came to the conclusion that there is no space for people with mental illnesses such as Autism to communicate with each other, and feel like a normal part of a group rather than an outcast. Hence we decided to create this communication application in order for the children to feel like they belong. In addition, we thought it would be nice for parents to be able to communicate with other families who are going through the same situation and share their experiences, problems, advice, knowledge, etc. Lastly, we were inspired to improve their education, as a lot of children with Autism have a hard time focusing and working on one thing at a time, so we decided to implement an education based game for the children to be able to develop their school skills while having fun.
What it does
The application combines a game system with a messaging system. When you open the application you are prompted to enter an authentication code which stimulates a code that the family would receive from the doctor to allow them to use the application. This makes it so that random people cannot join and removes some opportunities for cyberbullying. After entering the code the user is asked whether they are a Student or a Parent. If they choose parent then a text box opens and parents are allowed to chat with other parents on the application. The names on the application are anonymous providing an extra sense of security and reassurance. If the user chooses child then they have two options. Like the parents they can talk with fellow children and form a community and create a sense of belonging. If they choose game, then the user is allowed to choose between various games to play. The games provide simple mathematical questions that the students need to answer. If the students get the question right they are awarded with 10 points and if they get it wrong they lose a point. The point system we decided to make is designed so that the children do not lose a lot of points if they get it wrong and they get a lot of points when they get it right so that they do not feel discouraged, and are excited to keep playing. The users have one minute to answer as many questions as they can. There is a timer on the upper left hand corner along with a score tracker, and in the end their score is printed. The user then has the option to play again or exit and play another game.
How I built it
We built the application using XCode. We created several Swift files, one large storyboard with many View Controllers, and used ScaleDrone to implement the messaging system between the users.
Challenges I ran into
The biggest challenge that we faced was the implementation of the messaging system. We struggled with getting it so that multiple users can use the same application and communicate at the same time. In addition, we struggled with some aspects of the game. It was difficult creating a timer that would count down and output the time in minutes and seconds the way that we are accustomed to seeing. In addition updating the score instantaneously as the output is typed was a challenge that we ran into. Lastly, simply using XCode was a challenge. Neither one of us had prior experience in XCode so learning the syntax, the way to implement buttons, labels, lists, input fields, strings, integers, and basically everything was a challenge of some sort.
Accomplishments that I'm proud of
We are very proud of the app as a whole. Coming from no background knowledge we thought that trying to implement the messaging system and game was a stretch. We are most proud of the messaging system, especially since it allows for multiple users to connect and talk at the same time. You can connect on your laptop, phone, and any device, and multiple people can chat at the same time (it is not restricted only to two).
What I learned
We learned a lot. We learned about XCode, especially about using segues and different implementations of features such as buttons, labels, text fields, View Controllers, etc. We got a lot of practice with using Swift and learned about the differences in syntax in comparison to the languages that we are more accustomed to. Lastly we got a lot of practice with de-bugging. We spent so much time looking at our errors running the de-bugger. Overall we learned so much. There is not one thing that we came in here knowing with full confidence. We got more knowledge with Github, branching, forking pulling etc.
What's next for Learn&Connect
We would like to add more games, especially ones in which you can choose the integer value you are operating with rather than having hard coded cases. Building on the games, we would like to add games that do not only relate to math. We want the children to have interactive games that they can play with other users and we want to have other games that you can play to improve your knowledge in different fields such as English and Science. Also, we want to improve our Messaging system. Currently when you exit the messages you cannot go back and continue a conversation since all the messages are disappear. We would like for the messages to stay so that you can always see them and look back at them.

Log in or sign up for Devpost to join the conversation.