Inspiration

We had all sorts of ideas floating around, but on the day the hackathon started, we saw this in the morning news

BBC article on Hospiscare charity's £32,000 bill for unwanted donations

This charity estimates that only 20-25% of donations can be sold in their shop. The rest have to be recycled or disposed of -- at their own cost!

Furthermore, as we come out of lockdown, there will be much more activity, with limited shop space. If only there was a way to prescreen donations and prioritise what was truly needed...

Use Case: Thinking Local

Leeds Teaching Hospitals have a charity shop at Crossgates Shopping Centre. They just opened earlier this month . It is a physical shop with no digitisation, so they might very well face the same problem as the Devon charities. We challenged ourselves to find a way to bring them online.

Leeds Hospitals Charity Shop opening

What it does

Our web app lets users check with NHS Charity Shops nearby (pilot: Leeds TH Charity Shop) whether their potential donations can be useful before dropping them off. If the donation is accepted, the user earns Karma - a gamification element. Everyone wants to support the NHS.

Furthermore, with the data already online, the app should facilitate local person-to-person sales, with the proceeds going to the NHS Charity. This way, we can:

  • minimise transport and carbon emissions
  • maximise shop space (and shopper safety)
  • and reduce the workload for shop volunteers.

How we built it

We used a MongoDB (atlas), Node.js and Express tech stack to build a simple proof-of-concept web app. We started with a boilerplate, broke it several times, and went from there.

We coded collaboratively despite all being in different places, making use of frequent pulls & commits for version control and pair programming tools like the Visual Studio sharing functionality.

Challenges we ran into

We are all juniors and we all have a lot to learn, and this was the first hackathon for half the team. We are now absolute pros at resolving merge conflicts, though :)

Accomplishments that we're proud of

Putting together a functional app using technologies and frameworks we weren't really familiar with, remotely, over a weekend. Collaborating to make a cool web app for a great purpose. (We all work for the NHS and wanted to pick something relevant and topical.) We are also very proud of Magda's top video!

Accomplishments we're not proud of

Kate: I spent over an hour stuck because I forgot about javascript's strict vs loose equality. RIP

Sophie: Spent ages trying to get a bootstrap template to work but failed miserably. Tried different things instead and got something semi decent in the end.

Jessica: Having loads of merge conflicts.

Magdalena: How long it took to get the hang of pug and bootstrap templates

What we learned

Kate: I knew very little about front end so I decided this was the time to learn (Sam's Front-End Survival Kit talk was brilliant). I also gained insight into the circular economy from all the workshops and talks.

Jess: A lot more about front-end, about MVC, how tab is too many spaces for Pug's indentation and more

Sophie: I learned loads of new concepts like different tech stacks (MEAN/MERN) and MVC (thank you Kate!). I also have no/limited experience with the tech stack we used so it was a great learning experience

Magdalena: I learned lots, such as integration of MongoDB to the web app for persistent storage, and working with pug and bootstrap

What's next for Help the NHS Recover: Spring Cleaning

We would like to deploy this as a mobile app so that uploading pictures is as easy as using your phone's camera. We could also then issue push notifications when donations were received, accepted, rejected, and/or sold.

Who we are

We are four female trainees at NHS Digital eager to learn more about web development and help the NHS recover

TRY IT YOURSELF!

We deployed our app to https://murmuring-plateau-77856.herokuapp.com/

Judges: We have included superuser credentials to test donation review functionality in the documentation file, attached under "Additional Information" :)

Share this project:

Updates