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