P

Project Lightspeed

A secure lightweight and robust tool to aid vaccine de-hoarding pan-Earth.

P

Project Lightspeed

A secure lightweight and robust tool to aid vaccine de-hoarding pan-Earth.

The problem Project Lightspeed solves

COVID 19 turned the world as we knew it upside down. With vaccines being produced to restore the balance to the havoc created, the distribution and its roll-out is rather a difficult process.
This International Vaccine Distribution project deals with the transfer of the different vaccines amongst the different countries with a heavy focus on human values and equitable distribution of available resources.
This project deals with the transfer of vaccines between the countries to ensure an equitable distribution of vaccines for everyone to benefit from.
The social impact of this project transcends the human topological barriers between countries for the sake of humanitarian values. The excess of vaccines in one country can be transferred to another country with the scarcity of vaccines.
Collaboration between different governments through this site will lead to improved international transport in regarding vaccine distribution. Hence the global scarcity of vaccines will gradually decrease leading to a faster recovery from COVID19

Why us?

  • Global + local warehouse management
  • Secure transactions
  • Easy to use
  • Lightweight

This project will also help educate the users about the various vaccines in developed and their business aspect like the cost of vaccine per dose to help build a foundation for start-ups
We get the calculated Transaction charges on the shipment of vaccines from one country to another based on the availability of vaccines.
It accounts for the cross-country conversion rates and the shipment charges in the total transaction costs.

(The audio in the video linked is not loud so it's suggested to use a headset)

Challenges we ran into

The team hadn't had any experience in any such full-scaled full-stack projects so direct implementations were tricky. The backend was never attempted before in the team so it was a huge risk we were willing to take.
Moving on to bugs, we faced quite a few bugs during development, execution, and testing:

  1. PassportJS function isAuthenticated wasn't working properly: We used isAuthenticated in middleware to check the authentication of a user. In the middleware there were two simultaneous save() and get() requests out of which save() was executed before causing a bug in req.get(). To increase the problem, isAuthenticated() isn't documented yet by PassportJS. Finally, after understanding the source code function of isAuthenticated() this was solved by saving the req in the express session.

  2. Data updation: There was heavy use of model updating using mongoose which sometimes didn't return values as required and sometimes when half of the object was updated then the other half object got erased. This was solved by sending the original values of the object for all the fields where data was not getting updated.

  3. Transaction implementation: This isn't a bug or a challenge as compared to the above two but required a lot of visualization of models as the implementation of transactions required a common link of two models one of which was nested. This problem was mainly due to the numerous names which caused confusion and bugs in checking, finding and updating data. We overcame this by writing down the schema on paper and referring it every time. Gradually, as we progressed it became more clear and the frequency of looking upon paper grew less.

  4. Other minor bugs: These included calculation errors and, wrong order of execution of functions, and a few wrong variable naming. These were solved easily by logging data into console each time while running the site to check where exactly is the error occurring. These were the easiest of the errors to debug during the project.

Discussion