All Projects → boxwise → boxwise

boxwise / boxwise

Licence: Apache-2.0 license
A work on hold

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to boxwise

stock scan1
Working Demo of Barcode/QR code scanner using VueJs+Quasaar+Cordova
Stars: ✭ 42 (+121.05%)
Mutual labels:  warehouse
jorvik
'Jorvik' is the codename for the second and latest version of the Gaia Project, used by Italian Red Cross. ISSUES: https://jira.gaia.cri.it/browse/JO
Stars: ✭ 27 (+42.11%)
Mutual labels:  humanitarian
warehouse-framework
Laravel Warehouse Framework
Stars: ✭ 53 (+178.95%)
Mutual labels:  warehouse
krab
Krab is a migration and automation tool for PostgreSQL based on HCL syntax
Stars: ✭ 15 (-21.05%)
Mutual labels:  warehouse
Warehouse Robot Path Planning
A multi agent path planning solution under a warehouse scenario using Q learning and transfer learning.🤖️
Stars: ✭ 59 (+210.53%)
Mutual labels:  warehouse
migrant service map
Refugees welcome
Stars: ✭ 23 (+21.05%)
Mutual labels:  refugees
integreat-webapp
React WebApp for Integreat
Stars: ✭ 12 (-36.84%)
Mutual labels:  refugees
integreat-cms
Simplified content management back end for the Integreat App - a multilingual information platform for newcomers
Stars: ✭ 46 (+142.11%)
Mutual labels:  refugees
ikea-availability-checker
Command-Line-Script & Library for checking the availability of specific IKEA products in specific stores and/or countries.
Stars: ✭ 210 (+1005.26%)
Mutual labels:  warehouse
where2help
Rails app for the Refugee Hack Vienna 2015
Stars: ✭ 19 (+0%)
Mutual labels:  refugees
RAWSim-O
A simulation framework for Robotic Mobile Fulfillment Systems
Stars: ✭ 82 (+331.58%)
Mutual labels:  warehouse
Robotics-Warehouse
A warehouse environment for robotics simulation in Unity.
Stars: ✭ 17 (-10.53%)
Mutual labels:  warehouse
versatile-data-kit
Versatile Data Kit (VDK) is an open source framework that enables anybody with basic SQL or Python knowledge to create their own data pipelines.
Stars: ✭ 144 (+657.89%)
Mutual labels:  warehouse
helpafamily
Impactful ways to help families in need through donated meals, hygiene kits, and more. By Margarita Humanitarian Foundation.
Stars: ✭ 41 (+115.79%)
Mutual labels:  humanitarian
magicbox-kepler-app
Visualizing MagicBox data on country maps using KeplerGL
Stars: ✭ 21 (+10.53%)
Mutual labels:  humanitarian
cms
Legacy content management back end for the Integreat App - a multilingual information platform for newcomers
Stars: ✭ 22 (+15.79%)
Mutual labels:  refugees
integreat-app
React JS and React Native App for Integreat
Stars: ✭ 25 (+31.58%)
Mutual labels:  refugees
app-cross platform
Mobile guide for refugees - app frontend
Stars: ✭ 13 (-31.58%)
Mutual labels:  refugees
Open-Sentencing
To help public defenders better serve their clients, Open Sentencing shows racial bias in data such as demographics providing insights for each case
Stars: ✭ 69 (+263.16%)
Mutual labels:  techforgood

Build Status Codecov Coverage

Boxwise

THIS REPOSITORY IS ARCHIVED. Please refer to our Dropapp, boxwise-react, and boxwise-flask repos to view its replacement.

Boxwise makes it easy for organizations (such as refugee camps) to distribute donated goods to people in need. It consists of:

  • A point of sale system for running a shop. Boxwise distributes tokens that people can use to buy the things they need (clothes, food, toiletries, etc). They can choose carefully and try things on instead of just being given something they don’t want. The app registers people, gives them tokens, and manages all transactions in the shop.
  • A warehouse management system. Warehouses full of donated goods can quickly turn to chaos. Boxwise makes sure organizations know what they have, where it is, and what they need to restock. There is not even any complicated hardware involved -- only a smartphone is needed.

This is a new version of the original Drop App used by Drop In The Ocean. The original app was limited to just managing a single organization. This is a rewrite to support multiple organizations on a centrally hosted system.

Contributing

We are always looking for help. Working on this project is an opportunity to use your skills to help thousands of refugees. Our contributing guide has more information.

Setting up development environment

  1. Install Node.js. You'll also need to install Yarn:

    $ curl -o- -L https://yarnpkg.com/install.sh | bash
    

    (Or brew install yarn.)

  2. Install Node dependencies:

    $ yarn
    

    You will need to run this again if the package.json or yarn.lock files are changed by you or somebody else.

  3. Set up an app on Firebase to use as your development environment.

    • Go to https://console.firebase.google.com/ and click "Add project";
    • Enter "Boxwise Development" into the name field and click "Create Project";
    • Click "Database" in the left hand menu, click "Create Database" underneath Cloud Firestore;
    • Choose "Start in locked mode" in the "Security rules for Cloud Firestore' dialog;
    • Click "Authentication" in the left hand menu, then the "Sign-in method" tab, then click "Email/Password", flip the first "Enable" switch, then click "Save".
  4. Create a new local config running yarn setup, filling with the Firebase project ID (you may be asked to login). This will create a .env.local file.

    • How to get the Firebase project ID: Click on the settings gear next to "Project Overview". A dropdown menu will be shown, click on "Project Configuration". The project ID will be listed on first card (Your project). Will be the item right over the API key.
  5. Log into Firebase, then select the app you created in the previous step. Give it the alias "development".

    $ yarn run firebase login
    $ yarn run firebase use --add
    
  6. Deploy database rules to your development app.

    $ yarn run deploy-firestore
    

    You will need to run this again if the firestore.rules file is changed by you or somebody else.

Running the development environment

$ yarn start

The first thing you'll want to do when running a new development environment is set up an organization. The development environment currently has no test data.

Creating a test account

To be able to use the app locally you will need to create a user account. This can be accomplished by navigating to http://localhost:3000/create-organization and following the instructions on screen.

Running tests

$ yarn test

If you encounter "Error: EMFILE: too many open files" error in this step, try to install Watchman. Make sure that brew is installed in your machine.

// install brew
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew update

// install Watchman
$ brew install watchman

Running the database tests

We have some tests that check the Firestore database security rules are set up correctly. They have to run against a real database.

To set it up, click "⚙️" then "Project Settings" in the development app you created above. Click the "Service Accounts" tab, then click "Generate New Private key". Save this file to .service-account-key.json in the root of the project. Take care not to share it or commit it to the repository!

Now, when you run yarn test, the database tests will run automatically.

Community

We have a Slack for discussing development and for users to get support.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].