UniMail, UniOffice, UniDrive SaaS Platform

SaaS ecosystem consisting of mail, online office, and cloud storage, and has a similar look and feel to GMail, Google Docs, and Google Drive. Provides the best email experience, online office collaboration, and secure data storage in the cloud.

Technology Used:

  • C++

  • NodeJS

  • MongoDB

  • PHP

Project Synopsis

Indian company Bizgaze was about to build a Google-like SaaS platform for mail, online office, and cloud storage that will be available to domestic enterprise customers at a low cost. It needs to provide a clean and user-friendly UI/UX to increase accessibility and enable quick adaptation to the new user platform. The three platforms should form a single ecosystem where users can access all platforms with just a mail account.

Project Requirements/ Context

UniMail has a slim UI like GMail and has most of the features including scheduled sending, attachments, categories like , promotions, social and updates. UniOffice should support online collaboration through sharing and invitations while providing basic features for spreadsheets (xlsx), documents (docx) and presentations (pptx). It stores office files in the cloud while syncing with cloud storage UniDrive. UniDrive has a similar look and feel to Google Drive, has no size limit and is completely free. It has almost the basic features of Google Drive and supports sharing and invitations.

Key challenges

Key Challenge

Solution

UniOffice development

Of the three platforms, UniOffice was the most difficult platform to develop for because of the technical difficulties in integrating the online office with the backend. We scaffolded UniOffice from the open source LibreOffice Online. It had most of the features that Google Docs supported and was developed in C++, making it difficult to customize to our needs, but it was good for handling online collaboration.

UniMail integration with other domains

We did a comprehensive investigation into mail forwarding and MX records to enable UniMail to receive mail from other domains. We used iRedMail as a starting point to add the appropriate MX records and handle SMTP, POP3, and IMAP.

UniMail and UniDrive synchronization

Office documents are literally stored in UniDrive and when a user works on a document, changes should be immediately reflected in the UniDrive file system. We captured change events and immediately uploaded new document files to UniDrive for synchronization.

Solution Implementation

We used iRedMail for UniMail, LibreOffice for UniOffice, and NextCloud for UniDrive as scaffolding projects. All are open source, but have many shortcomings and insufficiencies. We reworked the LibreOffice C++ backend to remove bugs and add new features that are lacking compared to Google Docs. We implemented online collaboration using websockets and internal thread pool management. We reworked the UI of iRedMail in PHP and reworked the SMTP, IMAP, POP3 servers in C to add the latest mail features found in GMail. We developed the frontend of UniDrive in React and created a bridge (NodeJS backend) for managing cloud storage between the frontend and the NextCloud API.

Results

UniMail is a powerful cloud-based email service that seamlessly integrates with UniDocs and UniDrive, offering intelligent inbox organization, robust security features, and real-time synchronization across devices for effortless communication. Unioffice is a dynamic cloud-based document editor that enables seamless collaboration, real-time editing, and effortless sharing, empowering teams to work together anytime, anywhere with unparalleled ease. UniDrive is a secure and scalable cloud storage platform that offers seamless file management, effortless synchronization, and advanced sharing capabilities, ensuring accessibility and collaboration from any device.

about image