Workarise is a SaaS product, used to manage projects with tasks.
Developing a web app where you can access a custom domain like workarise.com and authenticate yourself with an email and password is not easy as say it, so here we’re going to share how we choose the tech stack to run Workarise.
How to choose a tech stack?
A tech stack is a set of technologies or tools used to build things, like a web app.
So, one of the first things to take in consideration is where we want to deliver our product, and we decided that is going to be in web.
The web offers a great advantage to iterate and deliver faster new features, so you don’t need approval from a store like the Play Store or App Store. Not only that, but developing software on web is easiest to debug and test, and almost everyone can access it with their browsers like Chrome or Firefox
Now we’ve decided where, we need the how, and that’s where JavaScript comes.
Browsers run JavaScript, so we need to choose a technology that helps to build web apps, there are so many like Angular or React, and we decided to use React, because is one of the most used libraries for building web apps, we can iterate fast and there are a lot of devs using it.
Integrating Material UI for build components with functionality to save time, styled-components we need more specific requirements, and other JavaScript libraries like Formik/Yup for manage and creating validations for Forms, date-fns to manage dates, and more.
For the backend at the start, we didn’t have a backend dev to create an API, so we start using Firebase to replace the need for an API and for things like hosting, authentication, real-time database (for notifications and more), analytics, upload files like images, etc.
The cool thing about Firebase provides you a Software Developer Kit that you can use in the front, so you connect your Frontend app to Google Cloud services to store data and host your web app, helping you to develop faster and with fewer people.
However in the long term, we’re going to need an API and a SQL Data Base (Firebase provides you with Firestore, which is NoSQL), and as we integrate a new backend developer, we decided to use Django as a framework for our API.
To host the API we want to use Cloud Run, a serverless Google Cloud service to run containers, so to containerize the API we’re using Docker, this’ll help to scale quickly with Cloud Run.
For the DB we can use Cloud SQL, which provides PostgreSQL, one of the most used SQL DB.
So that’s it, Workarise is built with React, MUI, and Firebase mainly, but in the future we’re going to implement an API with Django and host it with Cloud Run to scale as we growth.
Top comments (1)
Glad to be part of this project :)