/smartTodolist

Lighthouse Labs Midterm Project

Primary LanguageJavaScript

Listify - Cassandra Keddis, Chelsea Dwarika, Sheri Lu, Gaurav Mahant

Listify is a smart to-do list application we created for our midterm project at Lighthouse Labs.

Process and Outcomes

  • Create Entity Relationship Diagram based on given data requirements and relations.
  • Create a wireframe to start our CSS/SASS/HTML.
  • Create database tables (tasks and users).
  • Create and insert task/user seed data into tables.
  • Create an express server.
  • Implement Node Postgres (pg) to link server with database and show real task data to users.
  • Implement the API UClassify to filter tasks by one of four given categories: Things to Eat, Things to Read, Things to Buy, Things to Watch.

Users can login to view previously added to-do list items, add a new task with a priority and a due date, edit a task, delete a task - these actions manipulate items both on the front end and in the database. Users can filter tasks by one of the four categories using the API.

Getting Started

  1. Clone this project from github.

  2. Create the .env by using .env.example as a reference: cp .env.example .env

  3. Update the .env file with your correct local information

  • username: labber
  • password: labber
  • database: midterm
  1. Install dependencies: npm i

  2. Fix to binaries for sass: npm rebuild node-sass

  3. Reset database: npm run db:reset Check the db folder to see what gets created and seeded in the SDB

  4. Run the server: npm run local

  • Note: nodemon is used, so you should not have to restart your server
  1. Visit http://localhost:8080/

Dependencies

  • Node 10.x or above
  • NPM 5.x or above
  • PG 6.x
  • cookie-parser
  • cookie-session
  • dotenv
  • ejs
  • express
  • morgan
  • pg
  • sass
  • tiny-json-http

Dev Dependencies

  • nodemon

Screenshots

Listify Login Page "Listify Login Page" Listify To-do List "Listify To-do List" Listify UClassify Filters "Listify UClassify Filters"