Git Product home page Git Product logo

final-project-example's Introduction

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)

final-project-example's People

Contributors

jversoza 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.