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

in #utopian-io2 years ago (edited)

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.


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)



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.




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.



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

Sort:  

Well, that was a fun post to read. :)

You're doing a great job with Hans and other team members.

On a minor note, this may create errors if the interpreter goes into that block and try to return success variable at the end of the function (typo: missing an 's' at the end.)


Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Chat with us on Discord.

[utopian-moderator]

Ow nice :) Thanks for a nice catch, I'll fix it in my next PR! Also thx for the review :)

Thank you for your review, @emrebeyler! Keep up the good work!

Hey, @matkodurko!

Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Thanks people :)

Hi, @matkodurko!

You just got a 0.8% 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.

Hi @matkodurko!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.126 which ranks you at #3067 across all Steem accounts.
Your rank has dropped 45 places in the last three days (old rank 3022).

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

Evaluation of your UA score:
  • Some people are already following you, keep going!
  • The readers appreciate your great work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server