All Projects → happybottoms → coverd

happybottoms / coverd

Licence: GPL-3.0 License
Coverd Donation Bank Management App

Programming Languages

PHP
23972 projects - #3 most used programming language
Vue
7211 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
Twig
543 projects
SCSS
7915 projects

Projects that are alternatives of or similar to coverd

doctrine-read-only-hydrator
Add SimpleObject and ReadOnly hydrators do Doctrine.
Stars: ✭ 54 (+285.71%)
Mutual labels:  doctrine
krypto-lottery
A lottery game implementation on Ethereum blockchain using Solidity
Stars: ✭ 44 (+214.29%)
Mutual labels:  charity
domain
A collection of entities and helpers for creating domain objects and events
Stars: ✭ 18 (+28.57%)
Mutual labels:  doctrine
swoole-postgresql-doctrine-driver
🔌 A Doctrine DBAL Driver implementation on top of Swoole Coroutine PostgreSQL client
Stars: ✭ 15 (+7.14%)
Mutual labels:  doctrine
ox inventory
Overextended Inventory for ESX Legacy
Stars: ✭ 149 (+964.29%)
Mutual labels:  inventory
ansible-debian
Buildfiles: Ansible automated leight-weight and sensible Debian provisioning
Stars: ✭ 83 (+492.86%)
Mutual labels:  inventory
InvSee
A PocketMine-MP plugin that lets you view and modify offline and online players' inventories in real-time!
Stars: ✭ 19 (+35.71%)
Mutual labels:  inventory
doctrine-json-odm
JSON Object-Document Mapping bundle for Symfony and Doctrine
Stars: ✭ 15 (+7.14%)
Mutual labels:  doctrine
cart
Domain-Driven Design shop cart demonstration
Stars: ✭ 80 (+471.43%)
Mutual labels:  doctrine
pyventory
Ansible Inventory implementation that uses Python syntax
Stars: ✭ 25 (+78.57%)
Mutual labels:  inventory
phpstan-custom
Specific PHPStan extensions
Stars: ✭ 15 (+7.14%)
Mutual labels:  doctrine
pubg mobile memory hacking
Pubg Mobile Emulator Gameloop Memory Hacking C++ Source Code. Ex: Name, Cords, Bones, Weapons, Items, Box, Drop, Aimbot etc.
Stars: ✭ 69 (+392.86%)
Mutual labels:  inventory
user
A domain layer providing basic user management
Stars: ✭ 14 (+0%)
Mutual labels:  doctrine
sphobjinv
Toolkit for manipulation and inspection of Sphinx objects.inv files
Stars: ✭ 53 (+278.57%)
Mutual labels:  inventory
premise
Coupling Integrated Assessment Models output with Life Cycle Assessment.
Stars: ✭ 29 (+107.14%)
Mutual labels:  inventory
SmartInventory
Moved to https://github.com/Infumia/InfumiaLib
Stars: ✭ 16 (+14.29%)
Mutual labels:  inventory
README.1ST
The starting point of Laclede’s LAN on GitHub.
Stars: ✭ 48 (+242.86%)
Mutual labels:  charity
eBay-node-client
Ebay NodeJS Wrapper
Stars: ✭ 50 (+257.14%)
Mutual labels:  inventory
symfony recipes
Я буду писать здесь рецепты для Symfony на русском
Stars: ✭ 90 (+542.86%)
Mutual labels:  doctrine
MysqlDoctrineFunctions
MySQL Function for Doctrine : RAND(), ROUND() DATE(), DATE_FORMAT()
Stars: ✭ 45 (+221.43%)
Mutual labels:  doctrine

Coverd Donation Bank Manager

Coverd is an open source Symfony/Vue.js web application that manages the inventory and distribution of donated goods in a Bank -> Partner -> Client model. While this app was developed for diaper banks, our intent is for Coverd to be product agnostic.

Build Status Test Coverage

Coverd Screenshot

Coverd offers the following features.

  • Product management
  • Warehouse management
  • Partner management
  • Client management (planned)
  • Warehouse and Partner Inventory
  • Full inventory transaction history
  • Partner login, ordering, and client management (planned)
  • Custom Partner and Client fields (planned)
  • Client (Recipient) record encryption (planned)
  • Support for multiple warehouses
  • Inventory transfers
  • Partner Order workflow
  • Order packing sheets
  • Fine-grained permission levels

History

Coverd comes out of the need of HappyBottoms to manage their diaper inventory and partner distribution. This app started as a Drupal (Commerce module) ordering system for distribution partners to record their distributions and place new orders. This worked for 6+ years, but due to HappyBottoms growth, the system proved unable to effectively handle the volume and lacked desired features. Additionally, HappyBottoms was able to fund the development of a warehouse inventory management app. This was developed in Laravel, Doctrine, and Vue.js and was designed to be a platform to rebuild the existing partner ordering system once complete.

Since Laravel with Doctrine is not a typical combination, a rewrite of the backend in Symfony was done for a shallower developer curve.

About HappyBottoms

HappyBottoms is Kansas City's Diaper Bank. Its mission is to collaborate with community partners to empower, connect and impact low-income families by alleviating diaper need in the Kansas City community.

HappyBottoms's vision is to positively impact the mental, physical and financial stability of a family in crisis and need through diaper assistance, education, and connection to services.

Learn More at https://www.happybottoms.org

Special Thanks

  • VMLY&R for originally sponsoring the development of the Drupal project
  • William T. Kemper Foundation for sponsoring the development of the inventory system.

Development Installation - On existing environment (with PHP and Database)

  1. Create a database (mysql, postgres, sqlite)
    • There is a docker compose file that will give you a Postgres DB by running docker-compose up in the repository root (this should only be used for development and testing purposes, not for Production)
  2. Copy .env to .env.local and set the database connection
  3. Build PHP and db: ./bin/php_install.sh
  4. Build JS: ./bin/js_install.sh

Update After Switching to a New Branch

  1. ./bin/post-update.sh

Run Development Server and Build JS App

  1. bin/console server:run or bin/console server:start (to run in background)
  2. yarn watch

Development Installation - Docker Compose

  1. ./bin/dockerized-install.sh
  2. ./docker/up.sh

You should now be able to connect to your the dev server at http://localhost:8080/

Install just the PHP app with updated DB

  1. docker/app ./bin/php_install.sh

Install just the JS app

  1. docker/app ./bin/js_install.sh

Update After Switching to a New Branch

  1. docker/app ./bin/post-update.sh

Build and watch the Vue JS app

  1. docker/yarn watch

Debugging with Xdebug

  1. In the "XDEBUG" section of .env.local, set XDEBUG_MODE to include debug
  2. Rebuild your environment: docker/up.sh
    • Note: If you are debugging via phpunit, you can do this more quickly via:
      1. docker/app bash
      2. export XDEBUG_MODE=debug
      3. Run your phpunit tests from this command-line
  3. If using PHPStorm, make sure you set your xdebug server to have the name "coverd"
  4. Don't forget to reset your XDEBUG_MODE when you are done debugging

Work With the Dev Environment

We have fixtures to define basic users of certain roles:

Most of the time in development, you will probably want to log in as the admin. when needing to check access for certain types of users, log in as the appropriate role-based user.

Zip Code/County Information

Coverd has a zip code/county lookup field to capture the number of people served by county. This information has to be sourced from two government data files listed below.

These files are located in /src/Data/ and are imported with the app:zip-county:import command.

FontAwesome

Coverd makes use of the free set of icons from FontAwesome. To search the available icons, see https://fontawesome.com/icons?m=free.

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].