This List-Maker app was created over 7 days, is a solo, full-stack web development project, built on React and Node, using Sequelize, PostgreSQL, and Jasmine for testing. Deployed on Heroku, it is built with responsive flex-box and custom HTML & CSS including custom buttons and checkboxes. It was designed with mobile usability in mind, but works on all screen sizes.
Live site: https://lauren4c-list-maker.herokuapp.com/
See the code: https://github.com/lauren4c/list-maker
v1.0 Features include:
-User log-in and authentication via Express and Passport. User passwords are hashed and saved in a PostgreSQL database.
-Users can then create multiple lists, and also rename and delete them.
-Items can be added to each list, marked-as-completed, renamed, and deleted.
-All of this is done in real-time via a recursive setTimeout() Axios call to the server, once every second to mimic real-time updates. While this process works fine for this project, it is not a feasible way to do it if the app were to scale. Given more time, I would like to set the app up with Sockets.io for the real-time functions.
Check out the live project board.
The 7-day timeline limited the time and features I was able to put into this app. Given more time, I would like to do the following:
-Implement Sockets.io for real-time data updates to allow app to scale easily.
-Allowing users to create groups for shared lists. Currently, to see the same lists, a user has to share their log-in information, which may not be feasible or comfortable for all users. By adding "groups", users could share the lists with their friends and family and each person would have their own log-in info, and still have access to the shared lists.
-Allow users to set a max budget for each item. I created the 'item' model with this feature in mind, so it would be a fairly-easy feature to implement.