Proofed wanted to integrate a “Pay upon invoice” option for businesses and organizations so that they can submit bulk work and documents for proofreading. BiztechCS developed the company’s website cum web application with custom modules, payment gateway, and other integrations. Since they’ve been our customer for a long time now, we’ve had the opportunity to work on several points including:
- SEO Friendly Website
- CMS implementation for CakePHP
- JWT Authentication for API
- Powerful Shopping Cart Integration
- Slack Integration
- Wallet Credits
- Xero Integration with Backend
- Personalized Coupons and Credits
- Handling Multiple Domains:
And many more.
The client wanted to change the format of the document from .doc to .docx which was not possible due to unexpected errors from Cloudflare services. Since this was something that could add positively to their customers’ experience, we found a way through this issue. To make the conversion, we decided to run processes like CLI (command line interface) in the background. Simultaneously, we also had to show these processes to the user in frontend. This task was a tad tricky since the processes run in its own particular thread.
Since we were processing requests in the backend, it became easier for the user to add new documents, services, navigate the website, and many such tasks. This also reduced Cloudflare timeout errors. Up to that, Xero Integration with the backend helped in tracking and managing orders and payments.
Enhancing customer experience:
There were multiple flows and API integrations that were causing some issues on the website making it difficult for users to use their services. To solve this problem, we decided to log data from websites for high-level processes like document upload and email alerts on critical processes like duplicate payment.
This made it easy for the client to identify any issue as they can just go through the log. This also made it easy to know the specific flow, resolve the issue, and know the exact data inputs which we get from the logs. Additionally, logs take up disk space on the server so it was essential for us to decide which data is important and whose logs we should be keeping.
Global Payments Made Easy
This website is available in different countries like AU, US, CZ, UK. To make their payments easy, we implemented a stripe account so that users can pay in their national currency in a secured way.
Simplified Admin Operations
Now admins can easily create organization and set pricing as per the organization. So, users can login to the organization with provided emails. Admins can also show the organization’s logo and pricing according to configurations. Added super admin that can access all the modules. Under Super Admin, Admin can access main modules.
Previously, Admin was able to upload a single document at a time. We have added multiple document upload in admin upload. So, Admincan upload multiple documents at a time. – Added action log functionality to track admin’s activity. We have added this functionality for documents, users and freelancers. For example, when user’s details are changed. We have added it in the action log and shown it to the user’s details page.
Creative Feedback Display
Added a fixed number of usage functionality for offers. Here admin can offer a number of usages. For example, Admin adds a coupon 400 words free for the first 2 documents only. Then user can use that coupon for 2 times only for the first 2 documents.
Logging and monitoring critical process
The website was using multiple processes, third party APIs, etc. which were making it difficult to understand how many services the website depended on. We decided to log the data of the third-party libraries, multiple APIs, etc. so it becomes easy to find issues, understand and then solve them. Documenting everything from the scratch was important for us as we needed to understand which flow depended on which API library.
Multiple document formats and their price calculation
The client wanted to support more than 10 file formats including PDF, LaTex, MS Powerpoint, Google Docs, Plain Text, etc. The complicated part was to get the word count for each format and calculate price per word and per page for each file format. Additionally, it also required proper integration with different APIs like Google Drive, Google OCR, Cloud Converter, and many more.
Other updates during our recent sprint:
- Updating payment modules
- Long-running processes
- Resolving slack issues