Creating the backend for a complex documentation system from scratch
A cargo ship
Industries rely on robust accounting system for growth (Image source: Unsplash)
Date
-
Context
  • Freelance work
Skills
  • Backend development
  • API documentation
  • Security
  • Encryption

Problem

The gigantic export industry is responsible for almost all of the things that are transported across the world, but it still lacks a solid, secure and reliable documentation system to help them track their products, invoices, billings, etc efficiently. While some options do exist, they either cut corners in quality or features. These options do have one thing in common: Lack of security.

Approach

Our goal was to create a system that not only gives the end user a fluid and easy-to-use system to track their accounts, it should also not compromise user data in any shape or form. While the idea sounds pretty straightforward, there goes a lot of hard work to make the system as reliable as we were aiming for.

Every possible endpoint towards user data needs to be sealed with a tight layer of security and validations. In case of failure, the user should be able to recover their data without losing a single bit of it. Not only that but the confidential information like bank details of our customers and their clients should also be encrypted in case the database is compromised.

As you can see, the system could easily grow to a very complex network of endpoints and checks. To make the process for the developers even simpler, I documented every update that I made to the API to make it easier for the front-end developers to know what to use in the front-end development.

Results

While explaining the granular details is not in the scope of this document, I would like you to take a look at some part of the system yourself...

The design is simple and elegant, inviting the user to the platform to work

Our focus was not just a robust system, but also something that inspires us to be more productive. A welcome screen like this surely does the job.

"Export Documentation Software login screen"

List of all business partners with search feature for faster results

Adding a new business partner and finding them is as easy and fast as thinking.

"Export Documentation Software business partner list"

Important invoices such as Pro Forma, Pre-Shipment, Packing Lists are all segregated and deep-linked

All invoices are deep-linked, meaning that analysing which invoices are delivered and which are pending is already taken care of.

"Export Documentation Software pro forma invoice list"

Security is not an afterthought. It is how we built the system

The confidential data is so securely placed that even we can't understand what it says.

"Simulation of bank details"

Easing the pain of front-end development

Since this system is so complex and mature, it becomes hard to give the front-end development team guidelines on how to use the API. So, I created a website dedicated to just documenting the API and thus expediting the front-end process.

"API documentation screenshot"

If you are curious to see the system for yourself, please click here. If you want to check out the documentation, you can send me an email requesting access to you. While I cannot guarantee it, I will try to give you access to it.


Acknowledgements

Tirth for handling the front-end development. Vatsal for designing this beautiful system. Great job, buds! Varis for this wonderful idea.

Next story
Beauties of Eden