[Boxwise - fair donations distribution for refugees] Automated E2E tests, shopping cart and many more!

in #utopian-io2 years ago (edited)

Project introduction



What is Boxwise?

As stated in project's README file, Boxwise is a web-app, which makes it easy for organisations to source, store and distribute donated goods to people in need in a fair and dignified way.

How it works?

I'd just repeat myself here as I've already did my best to sum it up in couple of sentences in my first contribution post. You can find it HERE

Here is the video where you can see how DiH volunteers use the DropApp :)

Why did I join the project?

I've explained this also in my previous post. Again, just click HERE to find out.

DropApp in it's current form (Basic HTML, bit of CSS & Javascript and custom PHP framework developed by former volunteer which only 3 poeple in this world understand :D)

Another month or two, another progress on Boxwise. We're currently live in 3 organisations and 8 camps...which is certainly cool but also causes lot of new bugs popping up. We've found a nice rhythm of having a big call on Friday where new tasks get distributed and then short standup on Monday. Let's get to my latest PRs and not waste any more time :)

My Pull Requests from last month

1) Add cypress and implement login tests

History repeats itself. Being responsible for E2E tests in our react app, I got assigned this also in our LAMP stack version. I felt more comfortable in cypress this time but I was still struggling a lot :D You can see it in the commits pic below :D But tests are up and running and lovely!

  • Pull Request
  • Time worked: 24 hours
  • Additions/Deletions: 508/28

Commit spree :D

2) Add shopping cart

This is a big one! Spent 3 days on it. And yeah, it comes from me but Hans finished it as he requested some changes upon review but I was home in Slovakia and didn't have time. THe issue was that buying every product was a separate server request and transaction. Also, selecting different product was yet another AJAX server call to get the price. Means if family wanted to buy 10 products, it was 20 server requests. Considering camps don't have the best internet connections, it was a mess. With a shopping cart and all product prices loaded beforehand, buying 10 products or even 10000 products is done in 2 server requests - get prices and submit cart :)

  • Pull Request
  • Time worked: 20 hours
  • Additions/Deletions: 355/98

Best feeling :))

3) Prevent family nesting in beneficiaries

We're using this fancy jquery custom grid implementation from one of our former devs and original app creators. It allowes drag&drop rows and nest them together (simulate generations in families). The issue was that we wanted to have just one level deep nesting as families are represented that way in most of the camps.

  • Pull Request
  • Time worked: 2 hours
  • Additions/Deletions: 32/28.

4) Feature reset tokens on cycle start setting

Since tokens in Drop in The Ocean were collectible and refugees could save up them for months and then go and buy lot of clothes, the R4R organisation (Refugees for refugees) try to encourage their residents to use up all their tokens every month rather than saving up. We've added and feature which resets residents tokens (if setting is turned on)

  • Pull Request
  • Time worked: 3 hour
  • Additions/Deletions: 23/1.

5) Move box icon

Holy moly. What an easy task and I made it sooo difficult. Instead of choosing some other Font Awesome 4 icon, I've tried to migrate the lib to it's 5 version which isn't backwards compatible. What a pain in the ass...I gave up after 2 hours :D

  • Pull Request
  • Time worked: 2.5 hour
  • Additions/Deletions: 2/2

6) Unify error login notifications in php files and remove them from DB

Just some notifications hygiene. Some were hardcoded, some were using translations etc etc..

  • Pull Request
  • Time worked: 1.5 hour
  • Additions/Deletions: 16/10

7) Add min/max datepicker limits for users and beneficiaries

This was to prevent setting "valid to" date smaller that "valid from" (and some similar issues).

  • Pull Request
  • Time worked: 2 hour
  • Additions/Deletions: 22/3

8)NaN percentage in boxwise stats replaced with zero

Yeah, integer operations and dividing by zero. We've all been there :D

  • Pull Request
  • Time worked: 1 hour
  • Additions/Deletions: 12 / 6

9)Use correct db name in README

This one was bothering me for some time as I always needed to remind myself correct value :D So I just fixed it finally..

  • Pull Request
  • Time worked: 0.1 hour
  • Additions/Deletions: 1 / 1

Next steps for Boxwise team

There's a meeting next week in Berlin and we're gonna decide if there's a need for new version of the app (continuing with the React version) or if we just keep maintaining this old LAMP stack version. Fingers crossed for chooseing the React as far as I'm concerned :D But it's not about me but about providing as much help as possible :)

GitHub Account



Sounds like you have your hands full and will do plenty of learning and polishing.

You can do it and I am looking forward to hearing the story as it unfolds.

Go gettem nephew.

Posted using Partiko iOS

Yupp lot of stuff going on, not just with the boxwise :) But hope to start posting more soon :)

Hi @matkodurko!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 3.960 which ranks you at #4171 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 125 contributions, your post is ranked at #79.

Evaluation of your UA score:
  • You're on the right track, try to gather more followers.
  • The readers like your work!
  • You have already shown user engagement, try to improve it further.

Feel free to join our @steem-ua Discord server

Hi, @matkodurko!

You just got a 0.62% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Coin Marketplace

STEEM 0.98
TRX 0.13
JST 0.137
BTC 55358.13
ETH 2406.40
BNB 571.55
SBD 8.16