Skip to content

aizausman/final-project-example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The content below is an example project proposal / requirements document. Replace the text below the lines marked "TODO" with details specific to your project. Remove the "TODO" lines.

(TODO: your project name)

Shoppy Shoperson

Overview

(TODO: a brief one or two paragraph, high-level description of your project)

Remembering what to buy at the grocery store is waaaaay too difficult. Also, shopping for groceries when you're hungry leads to regrettable purchases. Sooo... that's where Shoppy Shoperson comes in!

Shoppy Shoperson is a web app that will allow users to keep track of multiple grocery lists. Users can register and login. Once they're logged in, they can create or view their grocery list. For every list that they have, they can add items to the list or cross off items.

Data Model

(TODO: a description of your application's data and their relationships to each other)

The application will store Users, Lists and Items

  • users can have multiple lists (via references)
  • each list can have multiple items (by embedding)

(TODO: sample documents)

An Example User:

{
  username: "shannonshopper",
  hash: // a password hash,
  lists: // an array of references to List documents
}

An Example List with Embedded Items:

{
  user: // a reference to a User object
  name: "Breakfast foods",
  items: [
    { name: "pancakes", quantity: "9876", checked: false},
    { name: "ramen", quantity: "2", checked: true},
  ],
  createdAt: // timestamp
}

(TODO: create a first draft of your Schemas in db.js and link to it)

Wireframes

(TODO: wireframes for all of the pages on your site; they can be as simple as photos of drawings or you can use a tool like Balsamiq, Omnigraffle, etc.)

/list/create - page for creating a new shopping list

list create

/list - page for showing all shopping lists

list

/list/slug - page for showing specific shopping list

list

Site map

(TODO: draw out a site map that shows how pages are related to each other)

Here's a complex example from wikipedia, but you can create one without the screenshots, drop shadows, etc. ... just names of pages and where they flow to.

User Stories or Use Cases

(TODO: write out how your application will be used through user stories and / or use cases)

  1. as non-registered user, I can register a new account with the site
  2. as a user, I can log in to the site
  3. as a user, I can create a new grocery list
  4. as a user, I can view all of the grocery lists I've created in a single list
  5. as a user, I can add items to an existing grocery list
  6. as a user, I can cross off items in an existing grocery list

Research Topics

(TODO: the research topics that you're planning on working on along with their point values... and the total points of research topics listed)

  • (5 points) Integrate user authentication
    • I'm going to be using passport for user authentication
    • And account has been made for testing; I'll email you the password
    • see cs.nyu.edu/~jversoza/ait-final/register for register page
    • see cs.nyu.edu/~jversoza/ait-final/login for login page
  • (4 points) Perform client side form validation using a JavaScript library
    • see cs.nyu.edu/~jversoza/ait-final/my-form
    • if you put in a number that's greater than 5, an error message will appear in the dom
  • (5 points) vue.js
    • used vue.js as the frontend framework; it's a challenging library to learn, so I've assigned it 5 points

10 points total out of 8 required points (TODO: addtional points will not count for extra credit)

(TODO: create a skeleton Express application with a package.json, app.js, views folder, etc. ... and link to your initial app.js)

Annotations / References Used

(TODO: list any tutorials/references/etc. that you've based your code off of)

  1. passport.js authentication docs - (add link to source code that was based on this)
  2. tutorial on vue.js - (add link to source code that was based on this)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 86.3%
  • HTML 12.2%
  • CSS 1.5%