Quora-like Webapp
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
documentation
public
tests
views
.gitignore
README.md
app.js
db.js
package.json

README.md

What Now!

Overview

What Now lets users post questions about what to say in certain situations and other users posts their suggestinos. User can also search for questions that has been asked and answered.

Data Model

The application will store Users, Questions and Suggestions

  • users can have multiple Questions and Suggestions to other's questions (via references), each user also has points(you get points by posting suggestions, and more by getting likes on your suggestions)
  • each Question can have multiple Suggestions (by references), the _id of the user that posted it.
  • each Suggestion has a list of Users that 'liked' it (by reference), the _id of the user that posted it, number of likes, a reference to the question this suggestion was made for.

An Example User:

{
  username: "i_have_so_much_questions",
  hash: // a password hash
}

An Example Question:

{
  text: "What To Say when you want to call in sick"
  user: {
    name: String,
    pic: String
  },//user that posted this question
  suggestions: //an array of Suggestions documents made under this Question
  createdAt: // timestamp
}

An Example Suggestion:

{
  text: "I am taking a sick day. I plan on seeing you tomorrow. I will let you know if that changes."
  user: {
    name: String,
    pic: String
  },// user that posted this suggestion
  likes: //number of likes for this suggestion
  question: //a reference to the question that this suggestion was made for
  likers: //an array of users' name that liked this suggestion (to prevent multiple likes for one user)
  createdAt: // timestamp
}

Link to Commented First Draft Schema

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

/ - page that renders most recent questions posted

home

/login - page for new user to signup and returning user to login

signupOrLogin

/search?s="keywords" - page for showing specific question

post

/post/:slug - page for showing one question

username

Site map

username

User Stories or Use Cases

  1. as non-registered user, I can register a new account with the site
  2. as a registered user, I can log in to the site
  3. as a registered user, I can post new questions
  4. as a registered user, I can seach questions/suggestions posted by other users
  5. as a registered user, I can post suggestions to other users' questions
  6. as a registered user, I can like/unlike suggestions that I find helpful

Research Topics

  • (5 points) Automated functional testing
    • I'm going to be using CodeceptJs (using NightmareJS as helper) for automated functional testing
  • (3 points) Perform client side form validation using a JavaScript library

Link to Initial Main Project File