Inspiration - The recent versions of Google Chrome support offline browsing though the option to easily access the cached version of any web page in hidden deep inside the settings. So this inspired us to build an offline version of Freshdesk

What it does - The agents will be able to view his/her open tickets inside our full-page app. Along with it, the agent can view all necessary ticket details and all its conversations. The agent can reply to the customer and add a private note in offline mode. And that's it! The agent can deliver uninterrupted service with our app!!

How I built it - When the app is initialized, we store all the agent's tickets and its conversations in Browser storage. And when the network connection is intermittent or completely offline, the agent will be able to view all his/her open tickets inside our full-page app. We render a ticket list page in the full-page app. Clicking on a ticket will load a modal which contains the necessary ticket details.

                       The modal has an input area that allows the user to reply to the customer or add a private note. When the agent replies or adds a private note, we store the content in the browser storage, when the app goes online and the agent accesses the app page during that time the failed requests stored will be retried.

Challenges I ran into - Did a lot of study on offline mode apps. We had to think of workarounds when a few things didn't work in platforms

Accomplishments that I'm proud of - We are really proud of the amount of effort and learning happened when building this app

What I learned - Progressive Web Apps, Cache API, Service Workers

What's next for Offline Support - Turn into a complete PWA and add more functionality in offline mode. Make use of IndexedDB to store large chunks of data

Built With

Share this project:

Updates