/chill-spot

Collection of awesome places to hangout with user reviews and ratings. Inspired by yelp

Primary LanguageJavaScript

Chill-Spot

Introduction

This repository contains the project files for the chill-spot application. It's a collection of hangout locations entered by users for public acess to ratings and reviews.

Tools

  • Node.js - JavaScript Runtime
  • Handlebars - Template Engine
  • Express - Backend Framework
  • Postgres - SQL Database
  • Sequelize - ORM
  • Passport - Authentication

Usage

Clone this repository: git clone https://github.com/Mayowa-Ojo/chill-spot.git

Install dependencies: npm install from root(project) directory

Start development server: npm run dev

Make sure you have Node.js(8+) and postgres(10+) installed

Have fun

Tasks

  • Bootstrap application structure
  • Install dependencies
  • Setup express server
  • Setup middlewares
  • Configure env variables
  • Configure templating engine(handlebars)
  • Create postgres database
  • Configure and Connect database
  • Setup sequelize model definitions
  • Setup basic routes
  • Seed database
  • Setup basic markup
  • Create handlebars layouts
  • Render home page
  • Setup express router
  • Implement MVC architecture
  • Create spot routes, model and controllers
  • Create comment routes, model and controllers
  • Create user routes, model and controllers
  • Dynamically display render templates with persistent data
  • Setup sequelize associations
  • Setup handlebars helper functions
  • Create login, sign up, new spot, and add comment forms
  • Setup authentication with passport and passport-local
  • Create user sign up and sign in logic
  • Persist logged in user with sessions
  • Implement form validation and error/sucess flash messages
  • Setup authorization middleware
  • Authorize specific routes
  • Implement delete functionality for spots and comments
  • Update landing page ui
  • Update view page ui
  • Implement favorites functionality
  • Setup favorites page
  • Add footer to layout templates
  • Setup user profile page
  • Write unit and integration tests