Ashwini Hegde, Catherine Mitchell, Angela Tabafunda
- 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.
- 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
- 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
- Create the
.env
by using.env.example
as a reference:cp .env.example .env
- Update the .env file with your correct local information
- username:
labber
- password:
labber
- database:
midterm
- Install dependencies:
npm i
- Fix to binaries for sass:
npm rebuild node-sass
- Reset database:
npm run db:reset
- Check the db folder to see what gets created and seeded in the SDB
- 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. - Run the server:
npm run local
- Note: nodemon is used, so you should not have to restart your server
- Visit
http://localhost:8080/
- Do not edit the
layout.css
file directly, it is auto-generated bylayout.scss
. - Split routes into their own resource-based file names, as demonstrated with
users.js
andwidgets.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.
- Node 10.x or above
- NPM 5.x or above
- PG 6.x