Skip to content
This repository has been archived by the owner on Dec 26, 2023. It is now read-only.

sebastianhaeni/2buy.io

Repository files navigation

2buy.io

Watch Demo Video or simply go to http://dev.2buy.io

Environment Dependencies

  • Apache with PHP >= 5.5
  • MySQL >= 5.6

Install instructions

  1. Create MySQL Database with docs/install.sql. Optionally execute docs/test-data.sql to create test data.
  2. Make sure you have installed the following dependencies:
  3. Execute npm install (may take a while)
  4. Create config.php with config.sample.php to match your environment

To test if you successfully installed the API component you can call /api/v1.

The default admin user has the email admin@2buy.io and the password 1234.

Building

  • Execute grunt to manually compile .js and .scss.
  • Execute grunt watch to automatically compile .js and .scss as soon as they change.

Description

The Shopping List provides members of a community household with a convenient way to tell others what’s currently needed in terms of everyday-articles. Users can add articles to the shopping list so the next member who goes shopping can purchase the missing articles. All the members are notified when someone performs an action in the app.

When an article gets bought, the buyer can mark it as bought and gets credit for it. The statistics should tell who orders the most and who buys the most.

The app is intended to work very well on mobile devices. Desktop resolutions should be supported as well, but aren’t the primary use case.

Demo Screencast

Project presentation

Project plan

i18n

To translate text into different locales, we use gettext. To edit the translations you can use PoEdit.

To extract new strings from the source, you can generate the twig templates into php files with php web/locale/update-i18n.php and then update the .po file within PoEdit.

Branching & Deployment

The stable branch is 'prod'. Changes are first to be tested on stage before being merged into 'prod' branch. 'master' and 'stage' are deployed automatically to the respective server (dev.2buy.io resp. stage.2buy.io). Updating bower, composer or the database will still require human action though.

Production deployment is done manually by the person in charge of releases.

Current status

Branch Status
Development
Staging
Production

Features

  • User authentication
  • Multiple communities
  • Shopping List
    • Add new articles
      • Autocomplete text box
      • Amount
      • Send notification to others
      • Add to history
    • Mark article as bought (swipe left)
      • Send notification to others
      • Add to history
    • Delete article (swipe right)
      • Send notification to others
      • Add to history
    • History
      • Show all passed actions
    • Statistics
      • Show users weighted by orders (cake diagram)
      • Show users weighted by purchases (cake diagram)
    • Article suggestions
      • Admin can define list of suggested articles
      • Admin can create articles
      • Admin can delete articles
      • Admin can edit articles
  • Bills
    • Upload bill
    • Show bills
    • Mark bill as paid
    • Decline bill
    • History
      • Show all passed actions
      • Clear all passed actions
    • Statistics
      • Show users weighted by sum of paid bills (cake diagram)
      • Show users weighted by sum of declined bills (cake diagram)
  • Multi Language