Skip to content

Todo list app built with Hooks, context and socket.io

Notifications You must be signed in to change notification settings

nilsDE/shopping-kumpel

Repository files navigation

Shopping Kumpel App

How to use this Application

The deployed application can be found here: https://shopping-kumpel.herokuapp.com/ You can also clone the repo to run the app with a local database. Please install all the dependencies and use the following to run the application:
npm run dev

The initial problem that the app solves

The idea for the app was that there are a lot of shopping list apps already but usually they do not allow you to collaborate with your friends. Hence, Shopping Kumpel was created to allow you to work on a shopping list with friends in real time. All logged in users will immediately see all the actions other users perform.

The app allows you to:

  • create lists and items
  • cross items off the list by clicking on them
  • editing items by clicking the pen icon
  • deleting items by clicking the x icon
  • adding collaborators

Collaborating users will always see the updated lists on their devices. Hence, multiple people can collect items from the supermarket without the risk of buying the same thing twice.

Technical choices

The app was built with React Hooks and the Context API in the Frontend and Node / Express in the Backend. This allowed for only JavaScript being used in both Front- and Backend. Sequelize is being used to communicate with the Postgres Database. The ORM translates JavaScript into SQL. In order to make the application real-time socket.io has been used which is a library to implement web sockets. Create-react-app was used to create the initial setup of the frontend part. Part of the code was generated by Sequelize and create-react-app. Further automated tests are still to be implemented. However, a small test suite has already been put in place using Jasmine. Use npm test to run the tests. It is intended to use Jest and Enzyme to implement React component testing in the future.

Todos in the future

Please refer to the todos.md file.

Misc

This app is not yet optimized for mobile use. Furthermore, it is also only thoroughly being tested with Chrome.

About

Todo list app built with Hooks, context and socket.io

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published