GithubHelp home page GithubHelp logo

relp's Introduction

#RELP

##General Project Summary

RELP – Rutgers own version of Yelp. Users will be able to add things to do, eat, see and play at or around Rutgers University. Users will be able to view all the places that are uploaded. Users will also be able to leave comments and reviews. RELP will allow users to search for specific categories such as places to eat, things to do, sporting events, and etc. Users will be able to add all the information via a drop down form.

OUTLINE

###Git Repo – Add Contributors

  • Jeremy Miragliotta
  • DongHoon Kim
  • Richenda Gould

###Heroku App – Add Contributors

  • Jeremy Miragliotta
  • DongHoon Kim
  • Richenda Gould

###Require NPM

  • Express
  • Express Handlebars
  • Express-Session
  • Body Parser
  • Sequelize
  • BCryptJS
  • Passport
  • PassportLocal – will change after Heroku Database set up
  • MySQL

###Set Up Handlebar code

  • DefaultLayout Main – Into Layouts
    • Materialize
    • CSS
    • JS / jQuery
  • Views
  • Index
  • Login/Registration
  • Place Detail
  • Place Listing – Search

###Database Connection Via Sequelize

###Create Cookie Session

###Passport Linkage

  • User Info

    • FirstName
    • NotNull, Must Be STRING, validation:Can only accept letter is[ ]
    • LastName
    • NotNull, Must Be STRING, validation:Can only accept letter is[ ]
    • Username
    • NotNull, Must Be STRING, unique, validate 5 to 30
    • Password
    • NotNull, Must Be STRING, validate 8 to 25
  • Place Info

    • Name
    • NotNull, Must Be STRING, validation:Can only accept letter is[ ] Unique Address
    • NotNull, Must Be STRING, validation:Can only accept letter is[ ] Unique Phone
    • NotNull, Must Be STRING, validation:Can only accept letter is[ ] Unique Comments
    • NotNull, Must Be STRING, Unique len 3 -500 Category
    • NotNull, dropdown form Star Review

###LINK TABLES - relationship

  • Place has many users
  • User has many comments
  • User has many entries

###Route SetUp

  • APP.GET
  • Index
  • Login
  • Logout
  • Register
  • Place LisT
  • Place List Category
  • Restaurants
  • Activities
  • Sites (Tourist – Sports)
  • Entertainment
  • Add Place
  • APP.POST
  • User LOGIN
  • User Info from form
  • Place info from form

relp's People

Contributors

donghoonkim1226 avatar jdmiragliotta avatar rolandocosme avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

donghoonkim1226

relp's Issues

Create model for user database

Create this inside the server.js file.

You will need a model for the User and also Places

reference readme file for further instructions.

NPM INIT

NPM init - with detailed JSON information

NavBar Template

design navbar template in main. allow template to edit nav buttons for different pages

Create table associations

create this in the server.js file

i.e.

places has many users
users has many comments
user has many entries

Install NPMs

  • Express
  • Express Handlebars
  • Express-Session
  • Body Parser
  • Sequelize
  • BCryptJS
  • Passport
  • PassportLocal – will change after Heroku Database set up
  • MySQL

Passport

Add required passport code to verify login information

Database Create

Sequelize Connection to local Database until we add Heroku DB

Create index.handlebars

Basic layout of the home page will be coded here.

i.e.

navbar, brand image, buttons, links, etc...

Set up app.get routes

  1. Index page
  2. Login page
  3. Logout page
  4. User page
  5. List of places page
  6. Categories of places page
  7. Places to eat (Restaurant pages)
  8. Things to do (Activities)
  9. Things to see (Tourist attraction, sporting events & entertainment)
  10. A page to upload "places"

Place detail - Handlebar

Create a place detail/information handlebar. This page will generate the information for all the places that user has uploaded.

Set up app.post routes

  1. User registration information must be routed and stored to the database.
  2. Place information must be routed and stored to the database.
  3. Authenticate user log in via passport.

Feedback - Week 16 Project

Hey @jdmiragliotta, @RolandoCosme, @donghoonkim1226. I cloned your repo and started looking through your app.

UX:
No error message if I try to log in as a non-registered user.
Responsiveness broken between regular window and mobile, remember to use %s or columns that will auto adjust placement for you.
There's a bar of list items under such as "Profile, Friends, etc" which isn't working. But by displaying those I was expecting more routes/views and relationships/column tables in mysql.

Code Technical:
Watch out when you leave your private/secret API keys published in public places. Use system environment variables to store important information whether it's locally or on your deployed platform (you can use .env, but here .env is public knowledge)

I may not be seeing it, but by looking over your CRUD routes, we rarely check if a user is authenticated before hitting routes. We check for req.user, but not much else. I'm looking for an if ( req.isAuthenticated() && req.user) or something along those lines.

I find it strange that there's a get route for deleting reviews. It seems to work, but if I "accidentally" hit a route and start messing with it, I feel like there should be some kind of "form" or gateway to confirm deleting reviews. Some kind of... post. ;)

Code Design:
We need to break out server.js into its individual pieces into their respective places/folder. models/user.js, models/places.js, config/connection, routes.js, etc. For the scale of this project this seems manageable to read through, but you will find in any "regular" size application that export.modules are everywhere. Try to refactor this and get used to incorporating that into your workflow.

You have incorporated two models and related them with hasMany, but your deployed version seems to error out when I want to add places. Try to add another model like reviews, you can create relationships, so now expand on it. See what trouble you can get into ;)

Overall, You've built a plesant, excelelnt Crud app which pulls data from an API for some reviews. However, is it possible to tie in a search for user inputted Places that grabs data from Yelp? It just seems like two separate products that could make sense to connect. You may also want to double check your deployment because I was able to get an application error pretty early on, so I'm basing my feedback on a local version and the code I can read.

If you wanna chat (probably on google hangouts we could schedule a 10-15 minute meeting) about the feedback or have questions.

search feature

create search fields where users can search for various options

Registration Form

code registration form

remember routes and NAME in order to pull data

in user-dash

create new
view entries
edit entries
deletes entries

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.