CodeJAM: Making Coding Sweet!
Unnamed 3
Feb 04, 2022
by CodeJAM

What is it?

SheHacks 6 was an opportunity for the three of us to work in a team to create a project for women by women. As soon as we got together, we were inspired to create a platform which would entice younger girls (and people in general) to be interested in the STEM field, especially programming. However, we knew from experience that programming can be a field that is difficult to get into and can be very discouraging, so we wanted to make the experience both fun and rewarding! Thus, CodeJAM was born! An innovative Candy-Crush like game that allows you to learn programming languages in a fun and intuitive way!

Image1

CodeJAM (born from the initials of our names: Jamie, Angele, Mia) is an app which aims to teach YOU the basics of programming. By signing up in the App with the click of a button you will be provided your very own profile linked to your Hedera wallet which keeps track of your progress and ensures a safe and secure experience on our app. You are then presented with a variety of programming languages to choose from, each with their own individual game map where each level is accompanied with a quick lesson on the concept you need to learn for the "test". As you progress through the game, the concepts build on each other and grow more complex to finally reach the goal, which is a real project at the end of all the levels of a language. CodeJAM aims to bring women and other young individuals who may be wary about the STEM field to experience the possibilities of technology.

How did we make it?

CodeJAM has multiple components which make up its sweet spread:

  • Xcode and Swift are used for the front end of the app as well as the basic functionalities. We wanted an app interface which was intuitive and easy to use and which appealed to our target audience with bright colors and a futuristic look.
    Image2
    • Javascript is used with a Hedera prototype to create user IDs when the user registers with a name on our app.

    • To connect user data and the app we used Google's Firebase. This also acted as storage and a secure database for all our user information.

    • Python was used for the main backend of the app such as checking for user input and comparing it with the expected input. It is also currently the only language which is being taught on the App.

    Importance of Hedera

    The idea was to integrate decentralized identity into our app in order to ensure that our users are in control of their personal information and to make it simple to access other web 3 applications.

    We had the opportunity to explore this idea further with Hedera. The idea came from using wallets such as MetaMask that allow this decentralized identity by providing keys to each user that can be used and recognized across other decentralized applications. As we were introduced to Hedera and learned that not only were fees lower but transaction confirmations and energy use per transaction were lower than the Bitcoin and Ethereum blockchains, we wanted to integrate Hedera into our app.

    The process started with getting into contact with Hedera Developer Evangelist, Ed Marquez, to see if the idea was possible as we didn't know if Hedera had developed this yet, being fairly new. To our luck, we were able to get in touch with the CEO of HashPack, May, and we got our hands on a prototype (HashConnect) to allow us to integrate decentralized identity into CodeJAM. From there, we needed to be able to create and assign a Hedera account to each user. The prototype provides the user with a pairing string. The user would then be authenticated onto our platform with the pairing string by signing an authorization message.

    Due to the limited time constraint of the hackathon, we only had 36 hours to implement this app, thus we had to 'hack' this process. Currently, we're using the Account ID provided when creating an account with Hedera to associate each user with an account.

    Image3

    What’s next?

    In the future, there are many ideas which we would like to implement into CodeJAM, some of the more notable ideas which we have discussed are the following:

    1. Adding more functioning languages into the app, because of the time limit given to us we were only able to make the app work for some python. However, we would like to expand to other well-known programming languages such as Java, HTML/CSS, Javascript, and perhaps more recently emerging languages like Node.js and React.

    2. We want to do more with Hedera. That weekend, we were only able to get a taste of what the Hedera platform is able to do, so we want to explore more of the functionalities which are offered.
      • As mentioned, we weren't fully able to integrate decentralized identity to its full extent into our app so primarily, this would be the first thing we'd implement.

      • Moreover, we would like to use the Hedera Token Service (HTS)in our app to allow users to 'buy lives' or other features in games that would integrate token uses.

    3. We want to introduce characters and customization into the app. This would probably entice more of the younger generation to take part in the app and complete the challenges which could offer them accessories. It also allows for users to feel personally invested in their time on the app.

    4. Messaging functionality when a user is struggling with a problem which would allow them to either connect with another user or with a mentor which would prevent people from getting stuck on a given programming problem for large amounts of time. This would prevent users from quitting out of frustration and allow them to find more fun in the process, as the game intends.

    5. We also would be curious to explore more of the Hedera functionalities in our project as well as other projects which we could come up with in the future. Hence, we are looking forward to the Hedera Hackathon coming up in March to create some new projects and talk to some amazing mentors. Of course, we can’t wait to see the prizes as well!

    That wraps up the presentation and explanation of our SheHacks 6 Project which we created with Hedera, if you want to have a look at our app in action, here’s a video demo of its functionalities: ​​

    With CodeJAM we hope to inspire future generations of female coders and we hope to have inspired you to keep coding and create some awesome projects!

    - J, A & M

      Image4