My First React Native Application

Creating something is fun. Some people love to create poetry, some love to create music, while some love to create furniture. For me, I love to create applications which help other people.

Recently, I made a mobile application using React Native and Node.js. React Native is an amazing development tool which enables web developers to create a real native mobile application leveraging their knowledge of JavaScript. Thanks to that, I was able to develop this application within 7 days while learning new technologies like JSX and Redux at the same time.

I would like to share you some of my experience and the application I made.

Motivation

First of all, I needed it. The application, Memozee, helps its users to memorize words and phrases of the English language in your spare time. You can store words in the database and review it anytime you like. Also, you can prioritize words based on your progress of memorizing. In the review time, the words will appear based on the priority you set. It is not a complicated algorithm, but it would be helpful for its users.

Another reason is that I wanted to use the company product which I will sell. The most favorite advice I received as Sales Engineer is that if I could use my company product in everyday life, I should do so. Through using products as a real user, we can learn the products deeply. I will sell a marketing automation software from next month as Sales Engineer. Therefore, I wanted to promote something using it. Advertising Memozee application would be a good experience. This is another reason I developed a mobile application.

By the way, the name of this application, Memozee, is originated from the word, “Memorize”. I shortened it using some cute sounds which the user might like.

Features of the application

I would like to give you a tour of the features of Memozee application. It would also be a good showcase what we can develop with React Native.

1. Login feature with the Google OAuth 2.0 authorization

The application will store data into the database in the cloud environment. I wanted to use a google user id to distinguish data per users.

Of course, it would be enough to store data in the local database of the application if I just wanted to meet the current specification. However, I have other ideas for the future. Storing data in the cloud enables me to create the web interface so that the user can manage their words using PC browsers. Also, it might be helpful for implementing a word sharing function between users.

2. Creating Decks

The first thing the user should do is creating a deck. A deck is like a folder of the windows system. You can store word cards into those decks. Of course, you can also edit and update decks after creating it.

3. Creating Cards

Once you created a deck, next thing is adding cards to it. A card is able to store “Front” value and “Back” value. Typically, “Front” will be store the word itself and “Back” will store the word’s meaning. Certainly, you can also edit and update decks after creating it as well.

4. Reviewing Cards

This is the fun part of this application. You can review cards by using the Swipe touch gesture. When you swipe a card to the right, the priority of the card will be increased. On the other hand, swiping a card to left will decrease its priority.

That’s all. Quite simple, isn’t it? But, I have many ideas to enhance the functionalities of this application. Word sharing is one of it. You can share your words with other users. I believe that this application has a potential to be a platform to memorize words.

If you wanna try?

Currently, I am submitting the application to the App Store. After the application gets approved, you can download it from the App Store. Until then, you can able to play with this application using Expo app. The following QR code is the link to Memozee application which works in your expo app. Kindly scan it if you want to try. Thanks to the nature of the cross-platform support by React Native, the application is able to run not only on iOS but also on Android.

If you have any feedback about this application, please let me know! I will be happy to hear that. :)