[Boxwise - fair donations distribution for refugees] We're live in 2 new camps & Hans visited me in Innsbruck!!

@matkodurko · 2019-07-02 18:26 · utopian-io

Project introduction

Repository

https://github.com/boxwise/dropapp

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.

https://cdn.steemitimages.com/DQmQjpEjS4Xav62jDfmTYz4hHBoFCnsr9NBQtTTP2VPmiaV/image.pngDropApp 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)

text16.png

Yeah!! The title's right :) That's part of the positive side. Another part is, that we have 2 new members! 2 girls who are currently volunteering in Lesvos, Greece and have years and years of experience of being part of tech companies. They're not developers but it actually might be exactly what we needed - decision makers!

Ever since they've joined, our Slack and Trello have been on fire. Task are rolling in my direction and therefore I'd like to keep this report quick.

text16.png

One more and SUUPER IMPORTANT thing - we've switched to the old Dropapp as our main MVP for now. We're fixing several known bugs while girls are in Greece looking for new NGOs who might use us. If they validate there's a bigger demand for the better version, we'll continue with React product which is for now on hold.

text16.png

Tech talk

Hans came for #codingweekend to Innsbruck!!

As already mentioned above, we're back on the old dropapp - at least till girls in Greece validate demnad for the new version. Dropapp is using a custom PHP framework which Hans understands well. I've never worked with PHP :D Soo he came over to Innsbruck and we had a nice 3 days long of coding + some DB design talks..

Selection_266.png

My Pull Requests

1) Replace "Drop in The Ocean" mentions

Well, the dropapp has initially been developed for NGO called Drop In The Ocean. We've all volunteered for then and that's how we met as well. Till the last week, it's been the only organisation using the app. Not no more :) This was gr8 task to get to know myself bit more in the codebase as it touched several files.

  • Pull Request
  • Time worked: 5 hours
  • Additions/Deletions: 24/26.
  • Biggest issue: My first ever code in PHP ever since my 3rd semester in the UNI 7 years ago :D Learning curve took some time :)

2) Make currency name configurable per base(camp) level

Well, since the app is meant to be multitenant, the word "drops" can't be used anymore. We've decided to make the name configurable not only per organisation but actually per camp.

  • Pull Request
  • Time worked: 8 hour
  • Additions/Deletions: 3312/3019.
  • Biggest issue: Maybe figuring out how to correctly generate Phinx DB migrations (had no idea how that stuff works before :D)

3) Replace icons with Boxwise icons

Old FontAwesome favicons replaced with our favicons. I've also added new logo for coins using our Boxwise design.

  • Pull Request
  • Time worked: 2 hour
  • Additions/Deletions: 0/0 - I've just replaced images with newly created ones.
  • Biggest issue: GIMPing new coin logo I'd say :D

4) Automatically send email to newly created users

There's an option to send this email by checking the user in the user list and then clicking the button to do so. I just moved that function to common lib functions and had a bit of a hardtime with realizing the password is hashed with md5.

  • Pull Request
  • Time worked: 2 hour
  • Additions/Deletions: 44/41
  • Biggest issue: Wondering where the password is being hashed and started to implement it myself.....then I've noticed the md5 function :D

Selection_277.png

When you're lazy to configure local SMTP server to test your email contents and you're such a PHP noob you're having problems setting a breakpoint in that particular file :D Well, you triggr a notification :DD

5) "Always show product in Stockroom" checkbox

Yeah, I'm still not really sure what the Stockroom is for, but Hans told me they need this checkbox to show in product menu :D

  • Pull Request
  • Time worked: 0.5 hour
  • Additions/Deletions: 4/3
  • Biggest issue: Understanding what the Stockroom is for in the real world camp (we didn't have it in the camp I worked for)

6) Make email unique column and add foreign key constraint

This is all already checked in the code soo changing the schema is just an aditional level of security.

  • Pull Request
  • Time worked: 1.5 hour
  • Additions/Deletions: 675/40
  • Biggest issue: Nothing big really...maybe merging the DB migrations cuz Hans was creating some at the same time..it was just tedious to always recreate the db, migrate the schema and then seed it with test data...I feel we need a script for it :D

7) Add deleted column to organizations

This wasn't that much of a programming rather than discussing how we want to do delete in general. The framework already recognizes if table has a column "deleted" and if so, it's set to a date when deletion occured. If the column is not present, it get's deleted for real. We just talked a lot various aspects of having old users and organisatoins archived and the effect it could have on refugees. Also cascade delete options were tricky to think about in some cases

  • Pull Request
  • Time worked: 3 hour
  • Additions/Deletions: 3419/2910 - mostly migrations
  • Biggest issue:What if volunteer comes back to the same organisation but different camp vs comes to different organisation. We needed to test such scenario to see how the code & DB behaves.

8) Add deleted column to usergroups

This is basically the same as the PR above, just with different table - usergroups.

  • Pull Request
  • Time worked: 1.5 hour
  • Additions/Deletions: 3218 / 2974 - mostly migrations
  • Biggest issue:Changing some queries where .DELETED column wasn't taked into consideration

Next steps for Boxwise team

We're definitely rolling! Roanna and Stef are still in Greece and trying to get even more new organisations on board. We already have 2 new ones what's more than we've expected so we're definitely high in the clouds :) Other than that, we'll just keep implementeing stuff girls "order" and let's see in couple of monhts where this all goes and if it makes sense to revive the React version (dropapp 2.0). Sooo pumped!!!

GitHub Account

https://github.com/DurkoMatko

#utopian-io #development #programming #volunteering #palnet
Payout: 0.000 HBD
Votes: 101
More interactions (upvote, reblog, reply) coming soon.