Introduction

Couple of weeks back, I and some of my friends, started on a side/hobby project to learn reactJS. We decided on developing a mobile app with react-native just because the idea of developing a native mobile app with javascript felt very exciting.

We also thought of using Typescript with React because we feel it not only just brings type-safety to the javascript code but in-fact brings all the advantages of object-oriented programming allowing us to think javascript code in terms of some well-established design patterns and standards that help us design highly scalable code. The goodies it brings — abstract and concrete classes, types, interface, enums are hard to resist.

As we started on the development of the app, I thought it would be a good idea to put our learnings here in a series as it not only will help us document our tasks but would also help other react-native learners and developers.

In this series, we will document step-by-step each task that we work on during the development of this app, right from the initial project set-up to its final implementation and release to the app store.

What app we are going to develop

The app we would be developing would be a simple photo albums app, where user can create an album and add photos to its from his/her mobile.

Tech-stack to be used

  1. UI using react-native + Typescript
  2. Storage — Azure DocumentDB
  3. REST API using node.js, Azure DocumentDB Node API
  4. Authentication — oAuth (Facebook and Google)

Targeted platforms

In its first version, we are planning to target only Android platform simply because couple of us in the team don’t own a Mac Book and apple doesn’t allow to develop iOS apps from any other operating system.

Github Repo

Our Limitations

  1. We are all learners of react/react-native, also this being a side project that we all will work on in our spare time, we are anticipating the project to go on a bit slow pace.
  2. Functional Testing — we don’t have a QE Automation expert in our team yet, so for most of its part Functional testing would be manual

3. Environment — for the UI app, we will use emulators on our local system to test our code. Being a mobile app, it would be released to Android Playstore and thus we don’t need to maintain any servers for the UI app

4. Environment for the REST API layer — this we haven’t got think-through yet (suggestions welcome)

5. and many more …. :)

Lets begin

We have already got ball rolling and have started on setting up the ground work and soon start sharing our learnings. So stay tuned, more stories to come soon

Interested in joining us in this wonderful journey?

we’ll be glad to have you in our team, pls email to us at iw2dev@gmail.com with a little bit about yourself

--

--