Coder Social home page Coder Social logo

foodcoops / foodsoft Goto Github PK

View Code? Open in Web Editor NEW
322.0 38.0 146.0 11.18 MB

Web-based software to manage a non-profit food coop (product catalog, ordering, accounting, job scheduling).

Home Page: https://foodcoops.net/

License: Other

Ruby 68.83% JavaScript 3.87% CSS 0.41% HTML 0.15% Shell 0.13% Dockerfile 0.20% Less 0.28% Sass 0.97% SCSS 1.09% Haml 24.06% Procfile 0.02%
food-cooperative foodcoop food cooperative product-catalog membership foodsoft

foodsoft's Introduction

Foodsoft

Build Status Coverage Status Docs Status Code Climate Docker Status Documentation

Web-based software to manage a non-profit food coop (product catalog, ordering, accounting, job scheduling).

A food cooperative is a group of people that buy food from suppliers of their own choosing. A collective do-it-yourself supermarket. Members order their products online and collect them on a specified day. And all put in a bit of work to make that possible. Foodsoft facilitates the process.

If you're a food coop considering to use foodsoft, please have a look at the wiki page for foodcoops. When you'd like to experiment with or develop foodsoft, you can read how to set it up on your own computer.

More information about using this software and contributing can be found on the wiki.

Roadmap

If you'd like to see what is currently bring prioritised for development, check our roadmap. If you'd like to influence the roadmap, please join our monthly community call. As of March 2023, Foodsoft has limited development capacity but we are trying to build this up once more. For now, we try to prioritise what we work on, in order to focus our efforts. If your proposed changes are waiting for some time without review, please join the community call to discuss.

Developing

Foodsoft development needs your help! If you want to hack/triage/organise to improve the software, please consider joining our monthly community calls which are announced on this forum thread. In these calls, we check in with each other, discuss what to prioritise and try to make progress with development and community issues together.

Get foodsoft running locally, then visit our Developing Guidelines page on the wiki.

Get a foodsoft dev-environment running in the browser with Gitpod

Open in Gitpod

Follow these instructions to complete setup from within the Gitpod workspace.

Deploying

Setup foodsoft to run in production, or join an existing hosting platform.

License

Foodsoft is licensed under the AGPL license (version 3 or later). Practically this means that you are free to use, adapt and redistribute the software, as long as you publish any changes you make to the code.

For private use, there are no restrictions, but if you give others access to Foodsoft (like running it open to the internet), you must also make your changes available under the same license. This can be as easy as forking the project on Github and pushing your changes. You are not required to integrate your changes back into the main Foodsoft version (but if you're up for it that would be very welcome).

To make it a little easier, configuration files are exempt, so you can just install and configure Foodsoft without having to publish your changes. These files are marked as public domain in the file header.

If you have any remaining questions, please open an issue or open a new topic at the forum.

Please see LICENSE for the full and authoritative text. Some bundled third-party components have other licenses.

Thanks to Icons8 for letting us use their icons.

foodsoft's People

Contributors

acracia avatar akirk avatar benni-as avatar bennibu avatar carchrae avatar decentral1se avatar dependabot[bot] avatar dokterbob avatar fsmanuel avatar hamaryns avatar haraldreingruber avatar juliusr avatar kidhab avatar lentschi avatar mamhoff avatar mariandl avatar metawilm avatar mikeill avatar mjavurek avatar mortbauer avatar nurp avatar paroga avatar sandoz avatar sjmulder avatar tg-x avatar tomstrom16 avatar twothreenine avatar viehlieb avatar wvengen avatar yksflip avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

foodsoft's Issues

Rest ins Lager

"Reste ins Lager"

Das Feature will ich auch haben!!

Allerdings finde ich den Lösungsvorschlag nicht so gut. Zumindest nicht von der User-Perspektive, denn eine Sonderbestellgruppe verwirrt nur, glaube ich. Vielmehr sollte der User nur die Möglichkeit haben

* Gebinde nach Bestellende "voll zu machen" (diese Mengen wandern dann ins Lager)
* bei der Abrechnung den Lageranteil transparent einsehen zu können. 

Ob das technisch dann eine Sonderbestellgruppe wird können wir ja nochmal beschnacken.

Tags für Artikel

Die bisher oft in den Artikelnamen enthaltene Infos sollten in spezielle Felder/Tags usw. ausgegliedert werden: - vegan/vegetarisch (als Tag?) - Fair Trade (als Tag?) - Anbauregion/-land (am Artikel gepflegt, wird auch von Terra geliefert) - Herstellername (am Artikel gepflegt, wird auch von Terra geliefert)

Original-Reporter: Lassi

Infomails zu "Konto aktualisiert" oder "Bestellungen online" durch Foodsoft

Zur Erleichterung der Arbeit der Kontogruppe und der Palettengruppe, könnte die Software anbieten per Mausklick die Infomail "Konten aktualisiert" oder "Bestellungen online" zu versenden.

Dann müssten die Gruppen nicht extra noch in Ihre Mailprogramm wechseln.

Ich weiß derzeit gibt es damit keine Probleme oder zumindest kann ich micht nicht daran erinnern, aber vielleicht wäre es doch nett für die fleissigen Bienchen.

Vielleicht könnte auch eine halb-automatische Mail "Bestellungen rausgeschickt" geben, dann muss mensch nicht solange bangen, ob wirklich was kommt.

Vielleicht sollten wir dazu aber auch noch die Paletten/Konto/Bestell-Menschen befragen.

Ich könnte mir das ganze gut im Rahmen einer (mittel)größeren Umstellung bezüglich der Arbeitsablauf-Führung vorstellen. Eine Art Checklist am Rande, um sich durch die zuerledigenden Schritte für einen jeweiligen Arbeitsbereich zu hangeln. (Eine Art Mini-Howto/Don't forget list).

Make customizable if tolerance is costly

If you participate in an order, increase tolerance for an article decreases the amout of available money of your account.

This give a negative incentive to use tolerance. There should be an configuration option to change this behaviour to ignoring tolerance values until the order is finished. This could give negative account balances, but this is IMHO no problem.

Order directly from supplier via mail

When an order was finished, there should be an easy way to send an email to the supplier with the article list. The mailtext should be editable, so the user can add/remove some articles.

Accounting by groups in finance view

(For an English description see comments below.)

Für die Abrechnung von Bestellungen ist es hilfreich, wenn die Artikel auch in der "Gruppenübersicht" abgerechnet werden könnten.

Die Kommentar zu den Bestellungen beziehen sich ja immer auf Artikel einer Gruppe, so dass die Finanzperson für jede zu bearbeitende Gruppe durch die ganze Liste der Artikel springen muss, um die Artikel zu bearbeiten, dass ist mehr Arbeit, als wenn Sie sich alle Artikel zu einer Bestellgruppe anzeigen lassen könnte und diese dann bearbeiten kann.

Original-Reporter: Johanna

Umfrage-Tool

Mit unserem User-Management lässt sich doch sicher ein einfaches Umfrage-Tool erzeugen.

Wir bräuchten das Modell poll mit attributen:

* question
* answers, die möglichen antworten als Array. oder doch besser in eigenem Modell?
* begin, der Startzeitpunk
* end, jede Umfrage muss zu ende gehen
* timestamps
* (optional) groups, array mit ids der verschiedenen Gruppen, für "kleine" Umfragen, die einzelne Gruppen betreffen 

Die Antworten werden dann über eine join-table aus Usern und Umfragen gespeichert. z.b. Votings:

* poll_id
* user_id
* answer, hier wird festgelegt, welche Antwort ausgewählt wurde, z.b. integer
* created_at, wann wurde die Stimme abgegeben? 

Durch die feste Bindung an den User können wir hiermit endlich mal vollständige Mitgliederbefragungen durchführen. auf den Plena sind ja immer nur teile der Foodcoop vertreten.

Fragen:

  • [create, update, destroy] schützen? d.h. soll es Umfrage-Beauftragte geben?
  • Sollen die Umfragen kommentiert werden können?

Artikelanzahl in StockIt

Für die Artikelansicht im Lager wäre es toll, wenn auch eine kurze Summe der aktuellen Artikel erschiene, also z.B. als Überschrift

"Artikelübersicht: 33 Artikel im Lager"

Original-Reporter: Stephan

Show all recipients of message

When a foodsoft message is sent, only the user who reads it is shown as recipient even when there are multiple recipients.

Suggestion: store groups and users with the message, and show groups and users as recipients.
Example: Sorting group, benni, horst, peter

Original text: Empfänger in Nachrichten auflisten Momentan steht als Empfänger in einer Foodsoft-Nachricht immer nur ein user (der, der die mail bekommt). Alle anderen Empfänger bleiben verborgen und das ist beim Antworten blöd.
Damit bei einer Mail an "alle" aber nicht alle Foodcoop-Mitglieder angezeigt werden sollten wir als Empfänger noch die Gruppen und eben "alle" mit speichern. Dann würde in der Mail stehen:
Empfängerinnnen: Sortiergruppe, benni, horst, peter

Artikelabkürzung of unzureichend

Die Artikel-Kürzel, die auf den Sortierlisten in der Matrix gedruckt werden, sind oft nicht sehr gut. Man versteht sie schlecht und es gibt doppelte Bezeichnungen. Vielleicht könnte man ein paar mehr Buchstaben zulassen und die Titelzeile einfach um 90° drehen. Dann könnten allerdings pro Seite weniger Bestellgruppen gelistet werden.

Original-Reporter: Alex

feedback feature for users

I would like to have a button (nearby the help-link), which popups a new text-field where users can input feature-request, problem etc.
The text should be automaticly send to an support-mail-address.

Anhänge für Wiki-Seiten

Es wäre cool, wenn wir möglichst bald Anhänge für Wikiseiten anbieten könnten, da im alten Wiki doch ein paar solcher Seiten existieren. Zum Beispiel-Preislisten der Anbieterinnen.

Kommentar zu Artikel sollte bei Erstellen der Bestelllung geändert werden können

Wenn man eine Bestellung zusammenstellt, und zu einem Artikel einen Kommentar (Glühbirnchen) eingeben möchte, muss man dies über den Umweg der Artikeldatenbank tun.

Es wäre wünschenswert, wenn man diesen Kommentar direkt beim Zusammenstellen der Bestellung eingeben bzw den vorgegebenen Kommentar (einmalig oder dauerhaft) ändern könnte. Oft sind diese Kommentare auch nur für diese eine Bestellung gültig und dann ist es unnötig, sie in der Artikeldatenbank zu speichern.

Also das einfachste wäre eine Direkt-Editier-Funktion für die Artikelnotiz in der Bestellauswahl. Das müsste ich hinbekommen.

Original-Reporter: Stephan

typo on register page

"Du bist eingeladen worden in der Foodcoop Administrators mitzumachen. " Das sollte wohl Gruppe heißen.

avoid unmeant duplicate entries of articles

mareike: könntest du einrichten, dass, wenn man einen neuen artikel in die palette aufnimmt, der schon drin ist, dies angezeigt wird. so könnten wir die vielen dopplungen verhindern und es macht das palettieren auch viel einfacher, hinsichtlich der essenswünsche.

Adressangabe Bestellgruppe zuordnen und nicht dem User

Momentan werden die Kontaktdaten ja ausschließlich an den User gehangen. Das ist insofern nicht dry, weil viele Nutzer u.U. die gleichen Kontaktdaten eingeben müssten. Sinnvoller wäre, das ganze an die Gruppe zu hängen. Also Adresse, Telefon 1 und 2, URL ;-)

Der User sollte eine eigene Telefonnummer optional angeben können. Und ein Bild natürlich.

Inform users about javascript dependency

Sometimes users deactivate javscript (e.g. through noscript plugin) and therefore they got some problems. The javascript note on session start page should be more visible.

"low watermark" entries for stock articles

We need a kind of stock amount tracker. Stephan's idea: Implement a "low watermark" value and notify a specific workgroup when current stock amount falls below this entry.

Artikel-bearbeiten-Ansicht springt zurück auf default-paginate-Wert

Wenn ich Artikel bearbeite in der FoodSoft, und dabei für die Ansicht wähle, dass ich mehr als 30 Artikel gleichzeitig anzeigen möchte und dann einen Artikel per Auswahl und drop-down-Menü (unten) als nicht mehr verfügbar markiere dann ist die Ansicht wieder beim Defaultwert von 30 und nicht mehr bei meiner Wunschansicht.

Original-Reporter: Stephan

Article statistics

(see English translation in comment below)

Wir könnten eine Statistik generieren, welche Artikel wie oft gekauft wurden.
In der Paletten-Auswahl könnte mensch dann die Artikel nach Beliebtheit sortieren. Vielleicht macht das die Palette einfacher. Zumindest könnte mensch so die Produkte aussortieren, die niemals bestellt wurden.

Man müsste noch mal darüber nachdenken, ob wir die "angeklickten" (gewünschten) Artikel oder die tatsächlich bestellten Artikel oder beides zählen wollen.

Original-Reporter: hullewuppe

Wikiseiten-Parent bearbeiten können

Wenn ich eine Wikiseite angelegt habe, kann ich im Moment den Parent nicht verändern.

Wir könnten eine "Elternseite verändern"-Link in pages/edit anzeigen und dann ein Dropdown präsentieren, um das neue Elternteil auszuwählen.

Option anbieten Wikiseiten-Titel zuverändern ohne Titel-Historie zuverändern.

Wenn ich derzeit den Titel einer Wikiseite verändere, dann werden zukünftige Request auf den alten Titel zum neuen Titel weitergeleitet.
Das ist ansich ein cooles Feature, es gibt allerdings Fälle (s.u.), in denen ich das nicht will, daher wäre es gut eine Option im pages/edit zu haben.

Wenn ich unter "Thema-Test" eine neue Version erstmal über eine Zeit entwickeln möchte, ohne dass die schon in Produktion befindliche Seite "Thema" zuverändern, dann möchte ich nach abschluß meiner Arbeiten "Thema-Test" in "Thema" umbenennen. Damit ich das machen kann muss ich "Thema" in "Thema-alt" umbenennen. Wenn jetzt die Titel-Historie allerdings verändert wird, dann ist der Titel "Thema" weiterhin besetzt und ich kann "Thema-Test" nicht in "Thema" umbennenen.

Kontext-bezogene Hilfe

Wir brauchen dringen eine vernünftige Dokumentation. Am besten wäre das kontext-bezogen, damit bei einem Problem nicht lange gesucht werden muss.

Als Anfang folgender Vorschlag:

Wir platzieren beim Logout-Link einen Link "Hilfe". Der Link wird dynamisch erzeugt und adressiert eine bestimmte Hilfe-seite, bezogen auf den aktuellen controller/action. Beispiel:

# articles/list/4
 ....
<a href="help/articles/list">Hilfe...

Im Controller wird dann auf eine Seite mit der Hilfe zur "Artikelansicht" geroutet.

Die Hilfe-Seite sollte sich außerdem in einem neuen Fenster öffnen, damit man parallel lesen kann.

Vorteil: Wir brauchen nicht in jeder neuen Seite irgendwelche Hilfe-Buttons integrieren, und hätten an zentraler Stelle alle Inhalte. man könnte auch leicht die Hilfeseiten untereinander verlinken.

Vorher muss das Wiki integriert sein.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.