Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A management system for pantry programs to help people eat healthy meals with dignity

License

NotificationsYou must be signed in to change notification settings

openpantry/open_pantry

Repository files navigation

Build Status

OpenPantry

A management system for pantry programs to help people eat healthy meals with dignity

  • NOTES:

    • We are moving towards a SaaS like model, with one subdomain per facility, and facilities are managed by super-admins or by facility specific admins
    • Masbia has several locations, but we're trying to validate the scope and use-case for other organizations, please get in touch if you work with one
    • Users are created/managed per facility on a user_selections page, and globally in a /manage/users page.
    • Food recipients are managed as users and can be logged in via magic login-links to be clicked on or emailed to them
    • We've been using ZenHub chrome extension for project management but this has caused some confusion, so we may move away from it...
    • Some mockups and UX flow for where we're trying to head are postedhere.
    • We initially attempted to make this multi lingual from the start but have largely deferred this work until things are more stable.
      • We have partial translations started for 9 languages
      • We have thousands of foods from USDA nutritional database ready for dynamic translation
      • We are using POEditor.com for static site translation, contribute to translations here:https://poeditor.com/join/project/wBfgEEUCht
      • We probably need to move to a database driven translation system for foods, given the quantity we are trying to manage, but we still need translation help.
      • Our curent best source for food images, facts and translations may behttps://us.openfoodfacts.org/ but we started with USDA database and much work is needed to leverage/combine and rework the data model to pull photos and translations from openfoodfacts
  • Getting started with development:

    • Mac homebrew:
      • ensure homebrew is installed (instructions athttps://brew.sh/ or paste/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" into terminal)
      • brew bundle
        • This will install elixir, erlang, yarn, and download Postgres.app which has postgis preinstalled
        • It will cd into assets directory and install npm packages via yarn
        • You can use another postgres, but you may have to manually install postgis
      • run from open_pantry dirmix do deps.get, ecto.create, ecto.migrate, run priv/repo/seeds.exs
      • Start Phoenix endpoint withmix phx.server, oriex -S mix phx.server (this gives a server and REPL/console in one window)
    • Docker/docker-compose (fake, factory generated data but no dependencies)
      • Install docker (on most systems this also installs docker-compose)
      • Clone the OpenPantry repo and cd into directory
      • Rundocker-compose run setup
      • Rundocker-compose up web
    • Local/native development on Mac/Linux manually, without automation frombrew bundle via Brewfile above (detailed instructions only for Mac at present, similar for linux)
      • Install Postgres (Mac)
        • Download and install the Postgresapp.com fromtheir site
          • Execute the following command in Terminal to configure your $PATH, and then close & reopen the window:sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp
        • Alternatively install Postgres with Homebrew
          • Execute (brew install postgres) in Terminal
      • if using Postgres.app you must initialize a data directory after installing, and follow instructions for adding CLI tools to your Terminal path...which psql but succeed when done
        • (instructions defaulting to Mac below... for simplicity, linux users extrapolate, Windows, I have no idea, PR's with instructions for either/both welcome)
      • Install Elixir/Erlang (brew install elixir)
      • Install NPM and yarn (brew install node && npm install -g yarn)
      • Clone this repository locally,git clone git@github.com:openpantry/open_pantry.git
      • cd into the directorycd open_pantry
      • Download database from s3 viawget https://s3.amazonaws.com/open-pantry-dev/openpantry_dev.dump
        • Note we had problems with this dump being improperly generated recently. I beleive the problem is fixed, but if you downloaded previously or have problems please contact someone for support, it's probably not your fault!
        • Dumps and restores are based on the method described here:https://devcenter.heroku.com/articles/heroku-postgres-import-export
      • Install Elixir package dependencies withmix deps.get
      • Create the database in Postgres withmix ecto.create, assuming default password etc in config works.
      • Migrate the database to add migrations since dump was created, viamix ecto.migrate
      • Import the dump to the database viapg_restore --verbose --clean --no-acl --no-owner -h localhost -U postgres -d open_pantry_dev openpantry.dump
      • Install Node.js dependencies withyarn install
      • Start Phoenix endpoint withmix phx.server, oriex -S mix phx.server (this gives a server and REPL/console in one window)
    • ALTERNATIVELY (and with much less detail), if you DON'T WANT TO USE the dump file referenced above/want to generate a dump from scratch, the above dump was generated with a complete USDA food/nutrient database approximately as below, along with non-dump steps above:
      • Create and migrate your database withmix ecto.create && mix ecto.migrate
      • Git clonehttps://github.com/openpantry/nutes locally and run make, modifying if necessary to point at your Postgres DB and the directory path to your local copy in imports.sql (requires golang to build data_cleanup tool)
      • Add seed data withmix run priv/repo/seeds.exs but modify to leave out foods/stocks as these are fakes generated by factories, you have real food from USDA

Now you can visitlocalhost:4000 from your browser.

Learn more

About

A management system for pantry programs to help people eat healthy meals with dignity

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp