Code Monkey home page Code Monkey logo

shoppinglist's Introduction

ShoppingList

A React-based shared shopping list.

Clients

This repository contains a server and a web-based client. There is also a cli client. If you wish to develop your own client, consider the API documentation.

Developing

This section describes how to set up and run shoppinglist locally on your computer.

  1. Install required tools
    1. node
    2. yarn
  2. Check out this repo
  3. Run ./install.sh to download required node packages
  4. ShoppingList has three components shared, server and client. You need to start a watcher for each of them to rebuild and restart when you perform changes:
    1. shared: cd shared; yarn watch
    2. server: cd server; yarn start
    3. client: cd client; yarn start
  5. You should now be able to access ShoppingList on http://localhost:3000

Deploying

You can deploy your own shoppinglist instance.

  1. Install required tools
    1. node
    2. yarn
  2. Check out this repo
  3. Run ./install.sh to download required node packages
  4. Run ./production_build.sh to build for production
  5. Run the server: node server/build/index.js, then stop it. This generates a config file.
  6. Edit the file config.json and set the value of "host" to your domain
  7. Run the server again

shoppinglist's People

Contributors

aberderbart avatar dependabot[bot] avatar tstehr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

shoppinglist's Issues

Break down some of the larger components

  • TopBar should be more flexible, to make it reusable (e.g. for ChooseList)
  • connection state from TopBar
  • "list" part of ShoppingListComponent
  • form from CreateItemComponent

Add option to delete items from history

For example, I'm not gonna add the item "Müllbeutel 15l" anymore because I discovered that "Müllbeutel 25l" works better for my trash can. I find seeing "Müllbeutel 15l" in the history confusing and would like to remove it.

Empty body

route: list.tilman.ninja/grillen

TypeError: "Given object contained unexpected keys: changeId"
    r https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    o https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    i https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    value https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    Qt https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    en https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    In https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    Zn https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    Yn https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    lr https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    ur https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    sr https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    ir https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    Qn https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    enqueueSetState https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    setState https://list.tilman.ninja/static/js/main.0fda7e64.js:1
    value https://list.tilman.ninja/static/js/main.0fda7e64.js:1
main.0fda7e64.js:1:709079

Join items

Button to combine to items with same name, category and compatible units

inconsitent behaviour when pressing enter

Pressing enter when adding an item adds the item, while pressing enter when editing an item adds a new line. I expect to add a new line by pressing shift+enter and exit editing by pressing enter.

Idea: add way to share a list

Add a way to share/export the link to the list. Normally, this would be accessible from the browser interface, but not in the installed progressive web app

Category layout bug

When viewing the categories in a small window, the formatting is off, see picture:
image

Add option for transfering category assignments from one list to another

There should be an option to transfer the category assignments from a list A to a list B. In my opinion, this should also include adding any categories from list A to list B. When the category assignments of list B are changed after the transfer, the category assignments of list A should not be changed. Existing category assignments for list B should not be changed during the transfer.

Add welcome page

Similar to etherpad welcome page, to allow creation of new lists

Hint text misses newline

In Firefox on Android, the newlines in the hint text of the extended input field are not shown. Maybe bug in Firefox?

UI: trailing whitespace when entering listname

With some mobile keyboards, a space can be inadvertently added when using autocompletion. For example "listname" and "listname " are different lists, but the user might not have noticed.

Global history per list

Use case: I want to know whether milk is not on the list because someone else already bought it, or because it was not added yet

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.