GithubHelp home page GithubHelp logo

lexslo / making-waves Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 6.74 MB

A blog where users can post and comment on music tech

Home Page: https://lexslo-making-waves.herokuapp.com/

JavaScript 76.57% Handlebars 19.52% CSS 3.91%
npm expressjs handlebars javascript html5 css foundation6 heroku-apps sequelize mysql2

making-waves's Introduction

Making Waves: Where Music Meets Tech

Description

A blog focused on the technology of music. Users can create an account in order to make posts and comment on existing posts. If they are not logged in, they can still view all posts on the site homepage.

Details

GIVEN a CMS-style blog site:

  • WHEN I visit the site for the first time, I am presented with the homepage, which includes existing blog posts if any have been posted; navigation links for the homepage and the option to log in
  • WHEN I click on the homepage option, I am taken to the homepage
  • WHEN I click on any other links in the navigation, I am prompted to either sign up or sign in
  • WHEN I choose to sign up, I am prompted to create a username and password
  • WHEN I click on the sign-up button, my user credentials are saved and I am logged into the site
  • WHEN I revisit the site at a later time and choose to sign in, I am prompted to enter my username and password
  • WHEN I am signed in to the site, I see navigation links for the homepage, the dashboard, and the option to log out
  • WHEN I click on the homepage option in the navigation, I am taken to the homepage and presented with existing blog posts that include the post title and the date created
  • WHEN I click on an existing blog post, I am presented with the post title, contents, post creator’s username, and date created for that post and have the option to leave a comment
  • WHEN I enter a comment and click on the submit button while signed in, the comment is saved and the post is updated to display the comment, the comment creator’s username, and the date created
  • WHEN I click on the dashboard option in the navigation, I am taken to the dashboard and presented with any blog posts I have already created and the option to add a new blog post
  • WHEN I click on the button to add a new blog post, I am prompted to enter both a title and contents for my blog post
  • WHEN I click on the button to create a new blog post, the title and contents of my post are saved and I am taken back to an updated dashboard with my new blog post
  • WHEN I am in the dashboard, I am able to delete or update my post and ther dashboard is updated with my changes
  • WHEN I click on the logout option in the navigation, I am signed out of the site
  • WHEN I am idle on the site for more than a set time, I am able to view comments but I am prompted to log in again before I can add, update, or delete comments

Layout

Home page view: Making Waves Homepage

Dashboard: Making Waves Dashboard

Link

Making Waves - Deployed App

making-waves's People

Contributors

lexslo avatar

Watchers

 avatar

making-waves's Issues

User Stories

  • As a user, I can create my own profile that stores information about me

  • As a user, I can retrieve my profile data or another user's profile data

  • As a user, I can update my profile data

  • As a user, I can delete my profile

Comment on a Post

Add a single post handlebars page. When a user clicks the comments link on a post from the homepage:

  • they can see all comments for a post
  • they can see the username and date posted or updated on each comment
  • they can comment ONLY IF logged in
  • ****they can edit comments made by them (<---- may need to add this later as a feature)

User Verification

Allow users to:

  • Sign up
  • Log in
  • Log out

When a user signs up or logs in:

  • They are redirected to the homepage. The login option now says logout

When a user logs out:

  • They are redirected to the homepage. The login option returns

Dashboard Edit Post Function

  • This needs to target the elements of the parent.
  • When there is more than one post on the page it doesn't work for every post.

Establish controllers

Set up the API routes

GET all:

  • users
    • hide password
  • posts
    • include username of poster, comments and username of comment writers
  • comments

GET by id:

  • user
  • post
  • comment

POST:

  • new user
  • new post
  • new comment

DELETE:

  • post
  • comment
  • user (onCascade: 'delete')

PUT:

  • edit post content or title
  • edit comment text
  • change username
  • change password, maybe?

Dashboard

  • Add Dashboard link to Nav
  • Basically a GET request for user by id
  • Displays all user blog posts
  • Displays option to make a new blog post
  • When new blog post submitted, dashboard reloads and displays new post
  • When existing post is clicked, option to delete or update post
  • After deleting or updating, dashboard reloads

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.