Recently, I joined a new organisation, Supahands!
As my first assignment, I was supposed to assess a few front-end frameworks for one of our products. It was a challenging task for me and I learned a lot through the process.
Story - For our new product, we had four frameworks in our mind. React / Vue / Angular / Ember.
After a few days of evaluation, we came to a conclusion that ReactJS is a perfect fit.
The product's goal was pretty simple to achieve. It was a simple CRUD operations app, with a few more service-calls to retrieve some data.
We already had a running product with Ruby On Rails + PostgreSQL stack.
After inspecting our objectives, we realised that we needed to adapt to better technologies and architecture.
We were trying to achieve the following things:
- Move our business logic to independent services (AWS Lambda).
- Introduce new UI design and Template System for the application.
- Write a Client-Side application in React.
- Restructure our current database and migrate to DynamoDB.
- Automate CI processes and current deployment strategies with the help of AWS CloudFormation. Our business logic is tightly-coupled with the deployment stack.
And why were we doing this?
- To minimize the cost.
- To re-use services in other products.
- To have a Client-Side single-page application.
- To maintain and share a common database with multiple applications.
What did I do in the process?
- I participated in the app's UI design process. I converted those designs into JSX templates with the help of Bootstrap.
- I successfully wrote code with React for our Client-Side application (from scratch).
- I deployed our React app to AWS.
- Adapted myself to Serverless architecture. And, still learning...
- I wrote backend services in Python 3.6 for AWS Lambda.
- I designed a better structure of the database in AWS DynamoDB.
Why was it challenging?
- I was working with React and AWS for the first time.
- I had no idea how Serverless technologies work.
- I have never worked on a front-end framework on my own from scratch to go-live.
So, what's next?
- Improve the app's code base.
- Add test cases for front-end app.
- Add Redux for state management.
- Make the app mobile-friendly.
Special thanks to dev.to and the community. I have referred a lot of threads for React and Serverless development!
Self care is a hot topic these days, and I’m not just talking about face masks. There is a growing movement that underscores the importance of taking time to take care of yourself (in addition to all the other things that you already take time for). You can prevent problems down the road by taking proactive steps to ensure your health and happiness.