GithubHelp home page GithubHelp logo

wingkoon / smart-todolist Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ashwinihegde28/smart-todolist

0.0 0.0 0.0 519 KB

LHL Sortify, A Smart TO-DO List

JavaScript 64.23% EJS 15.30% SCSS 20.48%

smart-todolist's Introduction

LHL Sortify, A Smart TO-DO List

Contributors

Ashwini Hegde, Catherine Mitchell, Angela Tabafunda

Project Introduction

  • A SMART list app that has an auto-categorizing feature to make sure that your entry reaches the correct category automatically.
  • If the entry does not fit into any of the automatic categories, then the app will categorize it into an unsorted list, so that you can still view your entry.
  • Users will be able to change a category of an item in case it was mis-categorized or could not be categorized at all.

Main Features

  • User Input Handling
    • Specify the title of the entry
    • Optional: specify the category
    • Input Validation
  • 3-Layer Automatic sorting for 5 different categories
    • Watch, Eat, Read, Buy, Cook
  • View all categories with pending entries
  • View all entries in a category
    • Allow users to mark entry as completed
    • Allow users to edit an entry title and re-sort it

Flowchart

Flowchart

Project results

Login

HomePage1

HomePage2

Categories1

Sorting

  • For a more accurate automatic sorting, use keywords such as: Buy, Eat, Watch, Read, Cook
  • If no context was given, WolframAPI will handle the sorting which might not be accurate
  • No automatic sorting happens when a user manually specifies a category

Getting Started

  1. Create the .env by using .env.example as a reference: cp .env.example .env
  2. 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
  1. Obtain an APPID from https://products.wolframalpha.com/api/documentation by creating an account. Once your account is created, log in, go to My APPs tab and follow instructions to create the APPID. Paste this APPID into the .env file.
  2. Run the server: npm run local
  • Note: nodemon is used, so you should not have to restart your server
  1. Visit http://localhost:8080/

Warnings & Tips

  • Do not edit the layout.css file directly, it is auto-generated by layout.scss.
  • Split routes into their own resource-based file names, as demonstrated with users.js and widgets.js.
  • Split database schema (table definitions) and seeds (inserts) into separate files, one per table. See db folder for pre-populated examples.
  • Use helper functions to run your SQL queries and clean up any data coming back from the database. See db/queries for pre-populated examples.
  • Use the npm run db:reset command each time there is a change to the database schema or seeds.
    • It runs through each of the files, in order, and executes them against the database.
    • Note: you will lose all newly created (test) data each time this is run, since the schema files will tend to DROP the tables and recreate them.

Dependencies

  • Node 10.x or above
  • NPM 5.x or above
  • PG 6.x

smart-todolist's People

Contributors

ashwinihegde28 avatar

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.