From b0a1318093237fd04100e00a178e0e9acdccf205 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Thu, 3 Mar 2016 11:54:38 -0800 Subject: [PATCH 01/41] end of step 1 sprint 1 --- package.json | 6 +++++- public/js/app.js | 39 ++++++++++++++++++++++++++++++++++----- views/index.html | 6 +++--- 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 0d3e4f8..3aff7f2 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,10 @@ }, "homepage": "https://github.com/tgaff/tunely#readme", "dependencies": { - "express": "^4.13.3" + "express": "^4.13.3", + "body-parser": "^1.14.1", + "method-override": "^2.3.4", + "ejs": "^2.3.3", + "mongoose": "^4.0.7" } } diff --git a/public/js/app.js b/public/js/app.js index 164eb55..662964a 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -9,24 +9,28 @@ /* hard-coded data! */ var sampleAlbums = []; sampleAlbums.push({ + id: 1, artistName: 'Ladyhawke', name: 'Ladyhawke', releaseDate: '2008, November 18', genres: [ 'new wave', 'indie rock', 'synth pop' ] }); sampleAlbums.push({ + id: 2, artistName: 'The Knife', name: 'Silent Shout', releaseDate: '2006, February 17', genres: [ 'synth pop', 'electronica', 'experimental' ] }); sampleAlbums.push({ + id: 3, artistName: 'Juno Reactor', name: 'Shango', releaseDate: '2000, October 9', genres: [ 'electronic', 'goa trance', 'tribal house' ] }); sampleAlbums.push({ + id: 4, artistName: 'Philip Wesley', name: 'Dark Night of the Soul', releaseDate: '2008, September 12', @@ -39,6 +43,7 @@ sampleAlbums.push({ $(document).ready(function() { console.log('app.js loaded!'); + renderAlbum(sampleAlbums); }); @@ -51,7 +56,7 @@ function renderAlbum(album) { var albumHtml = " " + - "
" + + "
" + "
" + "
" + "
" + @@ -64,15 +69,15 @@ function renderAlbum(album) { "
    " + "
  • " + "

    Album Name:

    " + - " " + "HARDCODED ALBUM NAME" + "" + + " " + "" + "
  • " + "
  • " + "

    Artist Name:

    " + - " " + "HARDCODED ARTIST NAME" + "" + + " " + "" + "
  • " + "
  • " + "

    Released date:

    " + - " " + "HARDCODED RELEASE DATE" + "" + + " " + "" + "
  • " + "
" + "
" + @@ -88,5 +93,29 @@ function renderAlbum(album) { "
" + " "; - // render to the page with jQuery + + // var panelBody = $("#albums"); + + // for(var i=0; iAlbums
  • Album Name:

    - Ladyhawke +
  • Artist Name:

    - Ladyhawke +
  • Released date:

    - 2008, November 18 +
From 7ccf0ce8e34b25e0d5e3293fee1bf1ce471f9877 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Thu, 3 Mar 2016 11:55:03 -0800 Subject: [PATCH 02/41] add space --- public/js/app.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/js/app.js b/public/js/app.js index 164eb55..c04a7f7 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -89,4 +89,6 @@ function renderAlbum(album) { " "; // render to the page with jQuery + + } From d3a4312def8d04807701b9a2d05ad0963147ac35 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Thu, 3 Mar 2016 12:14:55 -0800 Subject: [PATCH 03/41] Finishes Step 1 Sprint 1 --- public/js/app.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 662964a..53e13e1 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -102,6 +102,7 @@ function renderAlbum(album) { // albumDiv.attr("id", "album-"+i); // } + // render to the page with jQuery sampleAlbums.forEach(function(album) { // console.log(album); @@ -111,10 +112,10 @@ function renderAlbum(album) { var $albumReleaseDate = $(".album-releaseDate"); $albumDiv.append(albumHtml); - $albumDiv.attr("data-album-id", album.id); - $albumName.html(album.name); - $artistName.html(album.artistName); - $albumReleaseDate.html(album.releaseDate); + + $albumName.last().html(album.name); + $artistName.last().html(album.artistName); + $albumReleaseDate.last().html(album.releaseDate); }); From 711e6646a47c99de594ba35edbb800d1027ab88a Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Thu, 3 Mar 2016 12:16:00 -0800 Subject: [PATCH 04/41] did nothing --- public/js/app.js | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 53bf8b3..145347f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -96,27 +96,4 @@ function renderAlbum(album) { // render to the page with jQuery - // var panelBody = $("#albums"); - - // for(var i=0; i Date: Thu, 3 Mar 2016 12:17:13 -0800 Subject: [PATCH 05/41] merging --- public/js/app.js | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 662964a..278a8ed 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -104,17 +104,12 @@ function renderAlbum(album) { // render to the page with jQuery sampleAlbums.forEach(function(album) { - // console.log(album); - var $albumDiv = $("#albums"); - var $albumName = $(".album-name"); - var $artistName = $(".artist-name"); - var $albumReleaseDate = $(".album-releaseDate"); - - $albumDiv.append(albumHtml); - $albumDiv.attr("data-album-id", album.id); - $albumName.html(album.name); - $artistName.html(album.artistName); - $albumReleaseDate.html(album.releaseDate); + $("#albums").append(albumHtml); + $(".album-name").html("ciao"); + $(".artist-name").html(sampleAlbums.artistName); + $(".album-releaseDate").html(sampleAlbums.releaseDate); + + }); From 55014da744793b98e36caa9a65a37880f02421d1 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Thu, 3 Mar 2016 12:34:15 -0800 Subject: [PATCH 06/41] adds /api/albums --- public/js/app.js | 6 +----- server.js | 4 ++++ views/index.html | 12 ++++++------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 53e13e1..8fa79f6 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -9,28 +9,24 @@ /* hard-coded data! */ var sampleAlbums = []; sampleAlbums.push({ - id: 1, artistName: 'Ladyhawke', name: 'Ladyhawke', releaseDate: '2008, November 18', genres: [ 'new wave', 'indie rock', 'synth pop' ] }); sampleAlbums.push({ - id: 2, artistName: 'The Knife', name: 'Silent Shout', releaseDate: '2006, February 17', genres: [ 'synth pop', 'electronica', 'experimental' ] }); sampleAlbums.push({ - id: 3, artistName: 'Juno Reactor', name: 'Shango', releaseDate: '2000, October 9', genres: [ 'electronic', 'goa trance', 'tribal house' ] }); sampleAlbums.push({ - id: 4, artistName: 'Philip Wesley', name: 'Dark Night of the Soul', releaseDate: '2008, September 12', @@ -105,7 +101,7 @@ function renderAlbum(album) { // render to the page with jQuery sampleAlbums.forEach(function(album) { - // console.log(album); + console.log(album); var $albumDiv = $("#albums"); var $albumName = $(".album-name"); var $artistName = $(".artist-name"); diff --git a/server.js b/server.js index 5da137b..6cc4fd5 100644 --- a/server.js +++ b/server.js @@ -73,6 +73,10 @@ app.get('/api', function api_index (req, res){ }); }); +app.get('/api/albums', function album_index (req, res) { + res.json({albums}); +}); + /********** * SERVER * **********/ diff --git a/views/index.html b/views/index.html index ad68369..8b28e5d 100644 --- a/views/index.html +++ b/views/index.html @@ -38,15 +38,15 @@

Albums

-
+ -
+ - +
From 706009defe1b0c95c1899dc5a23d4b24cca8613b Mon Sep 17 00:00:00 2001 From: 93lucasp Date: Thu, 3 Mar 2016 12:35:16 -0800 Subject: [PATCH 07/41] merging1 --- views/index.html | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/views/index.html b/views/index.html index ad68369..46a1dd7 100644 --- a/views/index.html +++ b/views/index.html @@ -46,31 +46,7 @@

Albums

-
-
- album image -
- -
-
    -
  • -

    Album Name:

    - -
  • - -
  • -

    Artist Name:

    - -
  • - -
  • -

    Released date:

    - -
  • -
-
- -
+ " + @@ -124,5 +125,36 @@ function renderAlbum(album) { }); } +function buildSongsHtml (songs) { + var songStr = ""; + songs.forEach(function(song) { + songStr += ("(" + song.trackNumber + ") " + song.name + "– "); + }); + var songHtml = + "
  • " + + "

    Songs:

    " + + "" + songStr + "" + + "
  • "; + return songHtml; +} + + + + + + + + + + + + + + + + + + + + -// $.ajax('/api/albums'); diff --git a/seed.js b/seed.js index b213a5d..9194e8a 100644 --- a/seed.js +++ b/seed.js @@ -33,17 +33,45 @@ var albumsList =[ } ]; +var sampleSongs = []; + +sampleSongs.push({ name: 'Swamped', + trackNumber: 1 +}); +sampleSongs.push({ name: "Heaven's a Lie", + trackNumber: 2 +}); +sampleSongs.push({ name: 'Daylight Dancer', + trackNumber: 3 +}); +sampleSongs.push({ name: 'Humane', + trackNumber: 4 +}); +sampleSongs.push({ name: 'Self Deception', + trackNumber: 5 +}); +sampleSongs.push({ name: 'Aeon', + trackNumber: 6 +}); +sampleSongs.push({ name: 'Tight Rope', + trackNumber: 7 +}); + + albumsList.forEach(function(album) { + album.songs = sampleSongs; + }); + + Album.remove({}, function(err, albums){ Album.create(albumsList, function(err, albums){ if (err) { - return console.log('ERROR', err); - } - else{ - console.log("all albums:", albums); - console.log("created", albums.length, "albums"); - process.exit(); - mongoose.connection.close(); + return console.log('ERROR', err); + } else { + console.log("all albums:", albums); + console.log("created", albums.length, "albums"); + process.exit(); + mongoose.connection.close(); } }); From 8580c63abcd6668aa94bcb0ed1412e0169b5abe6 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Fri, 4 Mar 2016 08:31:15 -0800 Subject: [PATCH 18/41] fixes a typo error --- public/js/app.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index ad8c7d5..047d52a 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -70,8 +70,7 @@ function renderAlbum(album) { "
  • " + "

    Released date:

    " + " " + "" + - "
  • " + - buildSongsHtml(album.songs); + " " + buildSongsHtml(album.songs) + " " + "
    " + "
    " + From 4183fe85672aab6ad8524865d0ed9d475a8fe33f Mon Sep 17 00:00:00 2001 From: 93lucasp Date: Fri, 4 Mar 2016 09:16:47 -0800 Subject: [PATCH 19/41] Request Ajax completed and bug fixed --- public/js/app.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 312efe6..c4804fd 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -5,7 +5,7 @@ * */ -var Album = require('./models/album'); +// var Album = require('./models/album'); /* hard-coded data! */ // var sampleAlbums = []; @@ -37,8 +37,8 @@ var Album = require('./models/album'); $(document).ready(function() { - console.log('app.js loaded!'); - renderAlbum(sampleAlbums); + + renderAlbum(albums); }); @@ -94,7 +94,7 @@ function renderAlbum(album) { // }); $.getJSON( "/api/albums", function( data ) { - console.log("here are my albums:", data); + console.log("here are my albums:", data.albums); data.albums.forEach(function(album) { From 589a30aa787752e38090a15a45526361d3ba5e7a Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Fri, 4 Mar 2016 09:29:48 -0800 Subject: [PATCH 20/41] changed placeholder text --- views/index.ejs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/views/index.ejs b/views/index.ejs index 3386586..604221a 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -27,7 +27,7 @@ - +
    @@ -42,7 +42,7 @@
    - +
    @@ -51,7 +51,7 @@
    - +
    @@ -60,7 +60,7 @@
    - +
    @@ -69,7 +69,7 @@
    - +
    @@ -77,7 +77,7 @@
    - +
    @@ -111,7 +111,7 @@
    - + From 3e13c93196717e74957f3c5bef28208b7074effa Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Fri, 4 Mar 2016 09:34:32 -0800 Subject: [PATCH 21/41] adds model updates --- public/js/app.js | 50 ++++++++++++++++++++++++------------------------ server.js | 32 ------------------------------- 2 files changed, 25 insertions(+), 57 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 047d52a..ca3444c 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -8,31 +8,31 @@ var Album = require('./models/album'); /* hard-coded data! */ -// var sampleAlbums = []; -// sampleAlbums.push({ -// artistName: 'Ladyhawke', -// name: 'Ladyhawke', -// releaseDate: '2008, November 18', -// genres: [ 'new wave', 'indie rock', 'synth pop' ] -// }); -// sampleAlbums.push({ -// artistName: 'The Knife', -// name: 'Silent Shout', -// releaseDate: '2006, February 17', -// genres: [ 'synth pop', 'electronica', 'experimental' ] -// }); -// sampleAlbums.push({ -// artistName: 'Juno Reactor', -// name: 'Shango', -// releaseDate: '2000, October 9', -// genres: [ 'electronic', 'goa trance', 'tribal house' ] -// }); -// sampleAlbums.push({ -// artistName: 'Philip Wesley', -// name: 'Dark Night of the Soul', -// releaseDate: '2008, September 12', -// genres: [ 'piano' ] -// }); +var sampleAlbums = []; +sampleAlbums.push({ + artistName: 'Ladyhawke', + name: 'Ladyhawke', + releaseDate: '2008, November 18', + genres: [ 'new wave', 'indie rock', 'synth pop' ] + }); +sampleAlbums.push({ + artistName: 'The Knife', + name: 'Silent Shout', + releaseDate: '2006, February 17', + genres: [ 'synth pop', 'electronica', 'experimental' ] + }); +sampleAlbums.push({ + artistName: 'Juno Reactor', + name: 'Shango', + releaseDate: '2000, October 9', + genres: [ 'electronic', 'goa trance', 'tribal house' ] + }); +sampleAlbums.push({ + artistName: 'Philip Wesley', + name: 'Dark Night of the Soul', + releaseDate: '2008, September 12', + genres: [ 'piano' ] + }); /* end of hard-coded data */ diff --git a/server.js b/server.js index 866faa8..05662a5 100644 --- a/server.js +++ b/server.js @@ -23,37 +23,6 @@ app.use(express.static(__dirname + '/public')); * DATABASE * ************/ -/* hard-coded data */ -// var albums = []; -// albums.push({ -// _id: 132, -// artistName: 'Nine Inch Nails', -// name: 'The Downward Spiral', -// releaseDate: '1994, March 8', -// genres: [ 'industrial', 'industrial metal' ] -// }); -// albums.push({ -// _id: 133, -// artistName: 'Metallica', -// name: 'Metallica', -// releaseDate: '1991, August 12', -// genres: [ 'heavy metal' ] -// }); -// albums.push({ -// _id: 134, -// artistName: 'The Prodigy', -// name: 'Music for the Jilted Generation', -// releaseDate: '1994, July 4', -// genres: [ 'electronica', 'breakbeat hardcore', 'rave', 'jungle' ] -// }); -// albums.push({ -// _id: 135, -// artistName: 'Johnny Cash', -// name: 'Unchained', -// releaseDate: '1996, November 5', -// genres: [ 'country', 'rock' ] -// }); - /********** @@ -71,7 +40,6 @@ app.get('/', function homepage (req, res) { - /* * JSON API Endpoints */ From fd38fd1d341b83deb234982bec692a4ca616c120 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Fri, 4 Mar 2016 11:00:10 -0800 Subject: [PATCH 22/41] non-functional sprint3 branch --- public/js/app.js | 94 +++++++++++++++++++++++------------------------- seed.js | 6 ++-- 2 files changed, 48 insertions(+), 52 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index bafe581..7629a7f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -7,43 +7,15 @@ // var Album = require('./models/album'); -/* hard-coded data! */ -var sampleAlbums = []; -sampleAlbums.push({ - artistName: 'Ladyhawke', - name: 'Ladyhawke', - releaseDate: '2008, November 18', - genres: [ 'new wave', 'indie rock', 'synth pop' ] - }); -sampleAlbums.push({ - artistName: 'The Knife', - name: 'Silent Shout', - releaseDate: '2006, February 17', - genres: [ 'synth pop', 'electronica', 'experimental' ] - }); -sampleAlbums.push({ - artistName: 'Juno Reactor', - name: 'Shango', - releaseDate: '2000, October 9', - genres: [ 'electronic', 'goa trance', 'tribal house' ] - }); -sampleAlbums.push({ - artistName: 'Philip Wesley', - name: 'Dark Night of the Soul', - releaseDate: '2008, September 12', - genres: [ 'piano' ] - }); -/* end of hard-coded data */ - $(document).ready(function() { - renderAlbum(albums); + renderAlbum(); }); // this function takes a single album and renders it to the page -function renderAlbum(album) { +function renderAlbum() { var albumHtml = @@ -70,7 +42,7 @@ function renderAlbum(album) { "
  • " + "

    Released date:

    " + " " + "" + - "
  • " + buildSongsHtml(album.songs) + + " " + buildSongsHtml() + " " + " " + " " + @@ -93,14 +65,18 @@ function renderAlbum(album) { // alert( "Load was performed." ); // }); + $.getJSON( "/api/albums", function( data ) { - console.log("here are my albums:", data.albums); + // console.log("here are my albums:", data.albums); data.albums.forEach(function(album) { - - console.log(album); + // console.log(album.songs[1].trackNumber); + buildSongsHtml(album); + + + // console.log(album); var $albumDiv = $("#albums"); $albumDiv.append(albumHtml); @@ -116,32 +92,52 @@ $.getJSON( "/api/albums", function( data ) { }); -}); - + }); +} +// $.getJSON( "/api/albums", function( data ) { + +// function buildSongsHtml(songs) { +// var songText = " – "; +// data.albums.songs.forEach(function(song) { +// songText = songText + "(" + song.trackNumber + ") " + song.name + " – "; +// }); +// var songsHtml = +// "
  • " + +// "

    Songs:

    " + +// " " + songText + "" + +// "
  • "; +// return songsHtml; +// } +// }); + + + - -} -function buildSongsHtml (songs) { +function buildSongsHtml (album) { var songStr = ""; - songs.forEach(function(song) { - songStr += ("(" + song.trackNumber + ") " + song.name + "– "); - }); - var songHtml = - "
  • " + - "

    Songs:

    " + - "" + songStr + "" + - "
  • "; - return songHtml; -} +// console.log(songs); + album.songs.forEach(function(song) { + // console.log(song.trackNumber); + songStr = songStr + "(" + song.trackNumber + ") " + song.name + "– "; + + var songHtml = + "
  • " + + "

    Songs:

    " + + "" + songStr + "" + + "
  • "; + console.log(songHtml); + return songHtml; + }); +} diff --git a/seed.js b/seed.js index 9194e8a..254c8af 100644 --- a/seed.js +++ b/seed.js @@ -57,10 +57,10 @@ sampleSongs.push({ name: 'Tight Rope', trackNumber: 7 }); - albumsList.forEach(function(album) { - album.songs = sampleSongs; - }); +albumsList.forEach(function(album) { + album.songs = sampleSongs; +}); Album.remove({}, function(err, albums){ From 6368572aef4a19f530d456410395e07b6d88a197 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Fri, 4 Mar 2016 11:34:35 -0800 Subject: [PATCH 23/41] adds songs onto albums --- public/js/app.js | 83 ++++++++++++------------------------------------ 1 file changed, 20 insertions(+), 63 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 7629a7f..3c15b49 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -5,19 +5,22 @@ * */ -// var Album = require('./models/album'); - - +//MAIN FUNCTION $(document).ready(function() { - - renderAlbum(); + //AJAX REQUEST TO ALBUMS API + $.getJSON( "/api/albums", function( data ) { + //Data.albums is an array of all the albums + data.albums.forEach(function(album) { + //we are added an entire div to the Albums div with our data embedded in jQuery + renderAlbum(album); + }); + }); }); // this function takes a single album and renders it to the page -function renderAlbum() { - - +function renderAlbum(album) { + //our HTML that we are appending in a forEach loop var albumHtml = " " + "
    " + @@ -42,7 +45,8 @@ function renderAlbum() { "
  • " + "

    Released date:

    " + " " + "" + - "
  • " + buildSongsHtml() + + " " + + buildSongsHtml(album.songs) + " " + "
    " + " " + @@ -59,24 +63,7 @@ function renderAlbum() { - -// $.get( "ajax/test.html", function( data ) { -// $( ".result" ).html( data ); -// alert( "Load was performed." ); -// }); - - -$.getJSON( "/api/albums", function( data ) { - // console.log("here are my albums:", data.albums); - - - data.albums.forEach(function(album) { - - // console.log(album.songs[1].trackNumber); - buildSongsHtml(album); - - - // console.log(album); + //getting album div in order to append the HTML var $albumDiv = $("#albums"); $albumDiv.append(albumHtml); @@ -90,53 +77,24 @@ $.getJSON( "/api/albums", function( data ) { $albumReleaseDate.last().html(album.releaseDate); - }); - - }); -} - - - - -// $.getJSON( "/api/albums", function( data ) { - -// function buildSongsHtml(songs) { -// var songText = " – "; -// data.albums.songs.forEach(function(song) { -// songText = songText + "(" + song.trackNumber + ") " + song.name + " – "; -// }); -// var songsHtml = -// "
  • " + -// "

    Songs:

    " + -// " " + songText + "" + -// "
  • "; -// return songsHtml; -// } -// }); - +} -function buildSongsHtml (album) { +function buildSongsHtml (songs) { var songStr = ""; -// console.log(songs); - album.songs.forEach(function(song) { - // console.log(song.trackNumber); + + songs.forEach(function(song) { songStr = songStr + "(" + song.trackNumber + ") " + song.name + "– "; - + + }); var songHtml = "
  • " + "

    Songs:

    " + "" + songStr + "" + "
  • "; - - console.log(songHtml); - return songHtml; - - }); - } @@ -154,4 +112,3 @@ function buildSongsHtml (album) { - From eae30f2f34611a79ff4bd3b3754636a1c7d8793b Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Fri, 4 Mar 2016 11:57:15 -0800 Subject: [PATCH 24/41] adds album id's to divs' --- public/js/app.js | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 3c15b49..384615b 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -61,8 +61,6 @@ function renderAlbum(album) { " " + " "; - - //getting album div in order to append the HTML var $albumDiv = $("#albums"); @@ -71,17 +69,18 @@ function renderAlbum(album) { var $albumName = $(".album-name"); var $artistName = $(".artist-name"); var $albumReleaseDate = $(".album-releaseDate"); + // var $deleteButton = $(""); + var $albumId = album._id; + $albumDiv.attr('id', $albumId); + // console.log($albumId); $albumName.last().html(album.name); $artistName.last().html(album.artistName); $albumReleaseDate.last().html(album.releaseDate); - - - - } + function buildSongsHtml (songs) { var songStr = ""; @@ -104,6 +103,18 @@ function buildSongsHtml (songs) { + + + + + + + + + + + + From c0d395c606c817922dd48328dd942f935cb783dc Mon Sep 17 00:00:00 2001 From: 93lucasp Date: Fri, 4 Mar 2016 12:29:38 -0800 Subject: [PATCH 25/41] add modal --- public/js/app.js | 28 +++++++++++++++++++++++++--- views/index.ejs | 2 ++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 384615b..d2d645e 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -14,7 +14,9 @@ $(document).ready(function() { //we are added an entire div to the Albums div with our data embedded in jQuery renderAlbum(album); }); + handleNewSongButtonClick(); }); + }); @@ -23,7 +25,7 @@ function renderAlbum(album) { //our HTML that we are appending in a forEach loop var albumHtml = " " + - "
    " + + "
    " + "
    " + "
    " + "
    " + @@ -55,6 +57,7 @@ function renderAlbum(album) { "
    " + // end of panel-body " " + "
    " + @@ -70,14 +73,15 @@ function renderAlbum(album) { var $artistName = $(".artist-name"); var $albumReleaseDate = $(".album-releaseDate"); // var $deleteButton = $(""); - var $albumId = album._id; - $albumDiv.attr('id', $albumId); + // console.log($albumId); $albumName.last().html(album.name); $artistName.last().html(album.artistName); $albumReleaseDate.last().html(album.releaseDate); + + } @@ -96,6 +100,24 @@ function buildSongsHtml (songs) { return songHtml; } +function handleNewSongButtonClick() { + $('#albums').on('click', '.add-song', function(e) { + + + + + var id= $(this).parents('.album').data('album-id'); // "5665ff1678209c64e51b4e7b" + console.log('id',id); + console.log(id); + $('#songModal').modal(); + $('#songModal').data('album-id', id); +}); + // get the current album's id from the row the button is in + // set the album-id data attribute on the modal (jquery) + + // display the modal +} + diff --git a/views/index.ejs b/views/index.ejs index 604221a..8d1f3a2 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -101,6 +101,8 @@

    Albums

    +
    +
    From 46adde36b0aece6aa8d1f0d7a7cc9c4ddb939f43 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Fri, 4 Mar 2016 13:11:31 -0800 Subject: [PATCH 26/41] about to pull --- public/js/app.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 384615b..c15c32e 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -69,10 +69,8 @@ function renderAlbum(album) { var $albumName = $(".album-name"); var $artistName = $(".artist-name"); var $albumReleaseDate = $(".album-releaseDate"); - // var $deleteButton = $(""); - var $albumId = album._id; - $albumDiv.attr('id', $albumId); - // console.log($albumId); + var $deleteButton = ""; + $albumName.last().html(album.name); $artistName.last().html(album.artistName); From c7d41e1ae5d5d2ae7bfed748e45dbf4866957ad0 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Sun, 6 Mar 2016 12:35:51 -0800 Subject: [PATCH 27/41] removes previous functionality, adds ajax work --- public/js/app.js | 163 ++++++++++++++++++++++++----------------- public/js/secondApp.js | 74 +++++++++++++++++++ 2 files changed, 168 insertions(+), 69 deletions(-) create mode 100644 public/js/secondApp.js diff --git a/public/js/app.js b/public/js/app.js index 4ab3772..9113731 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -8,21 +8,46 @@ //MAIN FUNCTION $(document).ready(function() { //AJAX REQUEST TO ALBUMS API - $.getJSON( "/api/albums", function( data ) { - //Data.albums is an array of all the albums - data.albums.forEach(function(album) { - //we are added an entire div to the Albums div with our data embedded in jQuery - renderAlbum(album); - }); - handleNewSongButtonClick(data.albums); - }); + // $.getJSON( "/api/albums", function( data ) { + // //Data.albums is an array of all the albums + // data.albums.forEach(function(album) { + // //we are added an entire div to the Albums div with our data embedded in jQuery + // renderAlbum(album); + // }); + // handleNewSongButtonClick(data.albums); + // }); + var $albums = $('#albums'); + + $.ajax({ + type: 'GET', + url: '/api/albums', + success: function(data){ + $.each(data.albums, function(i, album) { + console.log(album); + renderAlbum(album); + }); + }, + error: function(err) { + alert("error loading " + err); + } + }); + + $.ajax({ + + }); + +//end of document ready }); + + // this function takes a single album and renders it to the page function renderAlbum(album) { - //our HTML that we are appending in a forEach loop + // console.log('rendering album:', album); + console.log(album); + var albumHtml = " " + "
    " + @@ -38,17 +63,19 @@ function renderAlbum(album) { "
      " + "
    • " + "

      Album Name:

      " + - " " + "" + + " " + album.name + "" + "
    • " + "
    • " + "

      Artist Name:

      " + - " " + "" + + " " + album.artistName + "" + "
    • " + "
    • " + "

      Released date:

      " + - " " + "" + - "
    • " + - buildSongsHtml(album.songs) + + " " + album.releaseDate + "" + + " " + + "
    • " + + " " + + "
    • " + "
    " + "
    " + "
    " + @@ -57,92 +84,90 @@ function renderAlbum(album) { "
    " + // end of panel-body " " + "
    " + " " + " "; - //getting album div in order to append the HTML + // getting album div in order to append the HTML var $albumDiv = $("#albums"); $albumDiv.append(albumHtml); - var $albumName = $(".album-name"); - var $artistName = $(".artist-name"); - var $albumReleaseDate = $(".album-releaseDate"); + // var $albumName = $(".album-name"); + // var $artistName = $(".artist-name"); + // var $albumReleaseDate = $(".album-releaseDate"); - var $deleteButton = ""; + // var $deleteButton = ""; - $albumName.last().html(album.name); - $artistName.last().html(album.artistName); - - $albumReleaseDate.last().html(album.releaseDate); + // $albumName.last().html(album.name); + // $artistName.last().html(album.artistName); + // $albumReleaseDate.last().html(album.releaseDate); } -function buildSongsHtml (songs) { - var songStr = ""; +// function buildSongsHtml (songs) { +// var songStr = ""; - songs.forEach(function(song) { - songStr = songStr + "(" + song.trackNumber + ") " + song.name + "– "; +// songs.forEach(function(song) { +// songStr = songStr + "(" + song.trackNumber + ") " + song.name + "– "; - }); - var songHtml = - "
  • " + - "

    Songs:

    " + - "" + songStr + "" + - "
  • "; - return songHtml; -} +// }); +// var songHtml = +// "
  • " + +// "

    Songs:

    " + +// "" + songStr + "" + +// "
  • "; +// return songHtml; +// } -function handleNewSongButtonClick(albums) { - $('#albums').on('click', '.add-song', function(e) { +// function handleNewSongButtonClick(albums) { +// $('#albums').on('click', '.add-song', function(e) { - var id= $(this).parents('.album').data('album-id'); // "5665ff1678209c64e51b4e7b" +// var id= $(this).parents('.album').data('album-id'); // "5665ff1678209c64e51b4e7b" - $('#songModal').attr('album-id', id); - $('#songModal').modal(); +// $('#songModal').attr('album-id', id); +// $('#songModal').modal(); - handleNewSongSubmit(albums, id); +// handleNewSongSubmit(albums, id); - }); -} +// }); +// } -function handleNewSongSubmit(albums, id) { - $('#saveSong').on('click', function(event) { - event.preventDefault(); +// function handleNewSongSubmit(albums, id) { +// $('#saveSong').on('click', function(event) { +// event.preventDefault(); - var album = albums.filter(function(selectedAlbum){ +// var album = albums.filter(function(selectedAlbum){ - if(id == selectedAlbum._id){ - return selectedAlbum; - // console.log(selectedAlbum._id); - } - }); +// if(id == selectedAlbum._id){ +// return selectedAlbum; +// // console.log(selectedAlbum._id); +// } +// }); - console.log(album[0].songs); - - - var $songName = $("#songName").val(); - var $trackNumber = $("#trackNumber").val(); - - var songObject = { - name: $songName, - trackNumber: $trackNumber - }; - // console.log(songObject); - // $.postJSON( "/api/albums", function( data ) { - album[0].songs.push(songObject); - // }); - }); -} +// console.log(album[0].songs); + + +// var $songName = $("#songName").val(); +// var $trackNumber = $("#trackNumber").val(); + +// var songObject = { +// name: $songName, +// trackNumber: $trackNumber +// }; +// // console.log(songObject); +// // $.postJSON( "/api/albums", function( data ) { +// album[0].songs.push(songObject); +// // }); +// }); +// } diff --git a/public/js/secondApp.js b/public/js/secondApp.js new file mode 100644 index 0000000..c625b90 --- /dev/null +++ b/public/js/secondApp.js @@ -0,0 +1,74 @@ +/* CLIENT-SIDE JS + * + * You may edit this file as you see fit. Try to separate different components + * into functions and objects as needed. + * + */ + + +$(document).ready(function() { + console.log('app.js loaded!'); + + var $albums = $('#albums'); + $.ajax({ + type: "GET", + url: '/api/albums', + success: function(albums){ + $.each(albums, function() { + $albums.append(album.Html); + }); + } + }); +}); + + + + + +// this function takes a single album and renders it to the page +function renderAlbum(album) { + console.log('rendering album:', album); + + var albumHtml = + " " + + "
    " + + "
    " + + "
    " + + "
    " + + " " + + "
    " + + "
    " + + " album image" + + "
    " + + "
    " + + "
      " + + "
    • " + + "

      Album Name:

      " + + " " + album.name + "" + + "
    • " + + "
    • " + + "

      Artist Name:

      " + + " " + album.artistName + "" + + "
    • " + + "
    • " + + "

      Released date:

      " + + " " + album.releaseDate + "" + + "
    • " + + "
    " + + "
    " + + "
    " + + " " + + + "
    " + // end of panel-body + + " " + + + "
    " + + "
    " + + " "; + + // render to the page with jQuery + + +} \ No newline at end of file From 6f658ebfaa1057545b0dd5421cdc7c5b5325bfc9 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Sun, 6 Mar 2016 13:37:37 -0800 Subject: [PATCH 28/41] added route and semi functional delete button --- public/js/app.js | 73 ++++++++++++++++++++---------------------------- server.js | 16 +++++++++++ 2 files changed, 46 insertions(+), 43 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 9113731..dc475a1 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -12,11 +12,11 @@ $(document).ready(function() { // //Data.albums is an array of all the albums // data.albums.forEach(function(album) { // //we are added an entire div to the Albums div with our data embedded in jQuery - // renderAlbum(album); + // renderAlbum(album); // }); // handleNewSongButtonClick(data.albums); // }); - + var $albums = $('#albums'); $.ajax({ @@ -33,9 +33,23 @@ $(document).ready(function() { } }); - $.ajax({ - }); + // DELETE method + $('#albums').delegate('.deleteBtn','click', function(){ + $.ajax({ + type: 'DELETE', + url: '/api/albums/' + $(this).attr('delete-album-id'), + success: function(){ + console.log("YAY DELETE"); + }, + error: function(){ + console.log("SOMETHING AINT WORKING"); + } + }); + }) + + + //end of document ready }); @@ -84,6 +98,9 @@ function renderAlbum(album) { "
    " + // end of panel-body " " + " " + @@ -92,9 +109,9 @@ function renderAlbum(album) { // getting album div in order to append the HTML var $albumDiv = $("#albums"); - + $albumDiv.append(albumHtml); - + // var $albumName = $(".album-name"); // var $artistName = $(".artist-name"); // var $albumReleaseDate = $(".album-releaseDate"); @@ -103,11 +120,10 @@ function renderAlbum(album) { // $albumName.last().html(album.name); // $artistName.last().html(album.artistName); - // $albumReleaseDate.last().html(album.releaseDate); + // $albumReleaseDate.last().html(album.releaseDate); } - // function buildSongsHtml (songs) { // var songStr = ""; @@ -115,10 +131,10 @@ function renderAlbum(album) { // songStr = songStr + "(" + song.trackNumber + ") " + song.name + "– "; // }); -// var songHtml = -// "
  • " + -// "

    Songs:

    " + -// "" + songStr + "" + +// var songHtml = +// "
  • " + +// "

    Songs:

    " + +// "" + songStr + "" + // "
  • "; // return songHtml; // } @@ -127,7 +143,7 @@ function renderAlbum(album) { // function handleNewSongButtonClick(albums) { // $('#albums').on('click', '.add-song', function(e) { - + // var id= $(this).parents('.album').data('album-id'); // "5665ff1678209c64e51b4e7b" // $('#songModal').attr('album-id', id); @@ -151,7 +167,7 @@ function renderAlbum(album) { // } // }); - + // console.log(album[0].songs); @@ -168,32 +184,3 @@ function renderAlbum(album) { // // }); // }); // } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/server.js b/server.js index 05662a5..f64e5ba 100644 --- a/server.js +++ b/server.js @@ -88,6 +88,22 @@ app.post('/', function create (req, res) { }); }); +//SHOW INDIVIDUAL ALBUM +app.get('/api/albums/:id', function show_api_album (req, res){ + var id = req.params.id; + var album = Album.find({_id: id}, function(err, album){ + if (err){ + console.log("ERROR WITH API ID", err); + } + else{ + res.json({album: album}); + } + }); + +}) + + + /********** * SERVER * From 8146b0dd176dbdca332a4436e07441468d8a2514 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Sun, 6 Mar 2016 14:22:28 -0800 Subject: [PATCH 29/41] adds create album functionality --- public/js/app.js | 101 +++++++++++++++++++++++++++++------------ public/js/secondApp.js | 74 ------------------------------ server.js | 10 ++-- views/index.ejs | 4 +- 4 files changed, 79 insertions(+), 110 deletions(-) delete mode 100644 public/js/secondApp.js diff --git a/public/js/app.js b/public/js/app.js index 9113731..348436a 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -7,24 +7,18 @@ //MAIN FUNCTION $(document).ready(function() { - //AJAX REQUEST TO ALBUMS API - // $.getJSON( "/api/albums", function( data ) { - // //Data.albums is an array of all the albums - // data.albums.forEach(function(album) { - // //we are added an entire div to the Albums div with our data embedded in jQuery - // renderAlbum(album); - // }); - // handleNewSongButtonClick(data.albums); - // }); var $albums = $('#albums'); + + //this is the get call to occupy the index page with data from the db $.ajax({ type: 'GET', + // we're pulling the data from our own api url: '/api/albums', + // data here is the JSON of albums from '/api/albums' success: function(data){ $.each(data.albums, function(i, album) { - console.log(album); renderAlbum(album); }); }, @@ -33,8 +27,37 @@ $(document).ready(function() { } }); - $.ajax({ - + // #singlebutton is the name of the submit button to make a new album + $('#singlebutton').on('click', function(event) { + event.preventDefault(); + + var $name = $('#name').val(); + var $artistName = $('#artistName').val(); + var $releaseDate = $('#releaseDate').val(); + var $genres = $('#genres').val(); + var $description = $('#description').val(); + + // here we grab the info from the form to make a new album and create + // a new object, newAlbum, with the input info + var newAlbum = { + name: $name, + artistName: $artistName, + releaseDate: $releaseDate, + genres: $genres, + description: $description + }; + + $.ajax({ + type: 'POST', + url: '/api/albums', + data: newAlbum, + success: function(newAlbum){ + renderAlbum(newAlbum); + }, + error: function(err) { + alert("woah, hang on there a minute. We've got an issue: " + err); + } + }); }); //end of document ready @@ -45,10 +68,16 @@ $(document).ready(function() { // this function takes a single album and renders it to the page function renderAlbum(album) { - // console.log('rendering album:', album); - console.log(album); + // This defines a songStr that we will fill with the name and track number of each song, + // we will then add this onto the end of the album information + var songStr = ""; + // This loops through each song on the album and adds it to songStr + album.songs.forEach(function(song) { + songStr = songStr + "(" + song.trackNumber + ") " + song.name + " – "; + }); - var albumHtml = + // albumTemplate is the layout for what will be rendered for new albums + var albumTemplate = " " + "
    " + "
    " + @@ -73,8 +102,10 @@ function renderAlbum(album) { "

    Released date:

    " + " " + album.releaseDate + "" + " " + - "
  • " + - " " + + "
  • " + + "

    Songs:

    " + + " " + songStr + "" + + " " + "
  • " + " " + "
    " + @@ -90,11 +121,20 @@ function renderAlbum(album) { "
    " + " "; - // getting album div in order to append the HTML - var $albumDiv = $("#albums"); - - $albumDiv.append(albumHtml); - + // getting album div in order to append the HTML + // var $albumDiv = $("#albums"); + // Here we are appending the above template with album info filled in + $("#albums").append(albumTemplate); + + + // var $songs = $(".songsSpan"); + + // var modalBtn = $(".songModalButton"); + // $songs.delegate('.songModalButton', 'click', function() { + // $(this).modal(); + // }); + + // var $albumName = $(".album-name"); // var $artistName = $(".artist-name"); // var $albumReleaseDate = $(".album-releaseDate"); @@ -107,20 +147,21 @@ function renderAlbum(album) { } - +//this will build out our songs in each album and append it to the list // function buildSongsHtml (songs) { // var songStr = ""; +// // console.log(songs); // songs.forEach(function(song) { // songStr = songStr + "(" + song.trackNumber + ") " + song.name + "– "; - // }); -// var songHtml = -// "
  • " + -// "

    Songs:

    " + -// "" + songStr + "" + -// "
  • "; -// return songHtml; +// // var songHtml = +// // "
  • " + +// // "

    Songs:

    " + +// // "" + songStr + "" + +// // "
  • "; +// // console.log(songHtml); +// return songStr; // } diff --git a/public/js/secondApp.js b/public/js/secondApp.js deleted file mode 100644 index c625b90..0000000 --- a/public/js/secondApp.js +++ /dev/null @@ -1,74 +0,0 @@ -/* CLIENT-SIDE JS - * - * You may edit this file as you see fit. Try to separate different components - * into functions and objects as needed. - * - */ - - -$(document).ready(function() { - console.log('app.js loaded!'); - - var $albums = $('#albums'); - $.ajax({ - type: "GET", - url: '/api/albums', - success: function(albums){ - $.each(albums, function() { - $albums.append(album.Html); - }); - } - }); -}); - - - - - -// this function takes a single album and renders it to the page -function renderAlbum(album) { - console.log('rendering album:', album); - - var albumHtml = - " " + - "
    " + - "
    " + - "
    " + - "
    " + - " " + - "
    " + - "
    " + - " album image" + - "
    " + - "
    " + - "
      " + - "
    • " + - "

      Album Name:

      " + - " " + album.name + "" + - "
    • " + - "
    • " + - "

      Artist Name:

      " + - " " + album.artistName + "" + - "
    • " + - "
    • " + - "

      Released date:

      " + - " " + album.releaseDate + "" + - "
    • " + - "
    " + - "
    " + - "
    " + - " " + - - "
    " + // end of panel-body - - " " + - - "
    " + - "
    " + - " "; - - // render to the page with jQuery - - -} \ No newline at end of file diff --git a/server.js b/server.js index 05662a5..3a07aaf 100644 --- a/server.js +++ b/server.js @@ -67,7 +67,7 @@ app.get('/api/albums', function album_index (req, res) { }); //CREATE -app.post('/', function create (req, res) { +app.post('/api/albums', function create (req, res) { var name = req.body.name; var artistName = req.body.artistName; @@ -76,19 +76,21 @@ app.post('/', function create (req, res) { var description = req.body.description; Album.create({name: name, artistName: artistName, releaseDate: releaseDate, - genres: genres, description: description}, function(err, albums){ + genres: genres, description: description}, function(err, album){ if(err){ console.log("OH FUCK AN ERROR! ", err); } else { // res.render(__dirname + '/views/index'); - // res.json({albums: albums}); + res.json(album); - res.redirect('/'); + // res.redirect('/'); } }); }); + + /********** * SERVER * **********/ diff --git a/views/index.ejs b/views/index.ejs index 7a1e547..10ae019 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -32,7 +32,7 @@
    - +
    @@ -51,7 +51,7 @@
    - +
    From 699458d48ae388e6f1b3965da35af72d2d8c9d56 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Sun, 6 Mar 2016 14:22:43 -0800 Subject: [PATCH 30/41] delete route and method working --- public/js/app.js | 8 ++++++-- server.js | 18 +++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index dc475a1..e02a05f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -14,7 +14,6 @@ $(document).ready(function() { // //we are added an entire div to the Albums div with our data embedded in jQuery // renderAlbum(album); // }); - // handleNewSongButtonClick(data.albums); // }); var $albums = $('#albums'); @@ -36,10 +35,15 @@ $(document).ready(function() { // DELETE method $('#albums').delegate('.deleteBtn','click', function(){ + // var $album = $(this).closest('.album'); + + var $albumId = $(this).attr('delete-album-id'); + $.ajax({ type: 'DELETE', - url: '/api/albums/' + $(this).attr('delete-album-id'), + url: '/api/albums/' + $albumId, success: function(){ + $('[data-album-id='+ $albumId + ']').remove(); console.log("YAY DELETE"); }, error: function(){ diff --git a/server.js b/server.js index f64e5ba..c6d2f65 100644 --- a/server.js +++ b/server.js @@ -100,7 +100,23 @@ app.get('/api/albums/:id', function show_api_album (req, res){ } }); -}) +}); + +//DELETE INDIVIDUAL ALBUM +app.delete('/api/albums/:id', function delete_album (req, res){ + var id = req.params.id; + console.log("DELETE ALBUM: ", id); + + Album.remove({_id: id}, function(err){ + if(err){ + console.log("ERROR WITH DELETE", err); + } + else{ + console.log("REMOVING ALBUM: " + id + " THIS WORKED"); + res.status(200).send(); + } + }); +}); From 493262d9e633a2343ee7364075dcd20fc2b38ee2 Mon Sep 17 00:00:00 2001 From: 93lucasp Date: Sun, 6 Mar 2016 15:26:22 -0800 Subject: [PATCH 31/41] update missing last part --- public/css/styles.css | 10 ++++ public/js/app.js | 120 +++++++++++++++++++++++++++++++++++++----- server.js | 26 +++++++++ 3 files changed, 144 insertions(+), 12 deletions(-) diff --git a/public/css/styles.css b/public/css/styles.css index 6d4b961..f28bc5e 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -13,4 +13,14 @@ vertical-align: baseline; margin-right: 12px; } +ul li .edit { + display: none; + } +ul li.edit .edit { + display: initial; + } + +ul li.edit .noedit { + display: none; + } \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js index 9113731..ba4697b 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -7,6 +7,55 @@ //MAIN FUNCTION $(document).ready(function() { + var $albums = $('#albums'); + + + $albums.delegate('.editAlbum', 'click', function() { + var $li = $(this).closest('li'); + $li.find('input.album-name').val($li.find('span.album-name').html()); + $li.find('input.artist-name').val($li.find('span.artist-name').html()); + $li.find('input.album-releaseDate').val($li.find('span.album-releaseDate').html()); + $li.addClass('edit'); +}); + +$albums.delegate('.cancelEdit', 'click', function() { + $(this).closest('li').removeClass('edit'); +}); + + +$albums.delegate('.saveEdit', 'click', function() { + var $li = $(this).closest('li'); + var album = { + artistName: $li.find('input.artist-name').val(), + name: $li.find('input.album-name').val(), + releaseDate: $li.find('input.album-releaseDate').val() + }; + + $.ajax({ + type: 'PUT', + url: '/api/albums/' + $li.attr('editAlbumId'), + data: album, + success: function (newAlbum) { + $li.find('span.album-name').html(album.name); + $li.find('span.artist-name').html(album.artistName); + $li.find('span.album-releaseDate').html(album.releaseDate); + $li.removeClass('edit'); + + }, + error: function() { + alert('error updating album'); + } + + }); +}); + + + + + + + + //AJAX REQUEST TO ALBUMS API // $.getJSON( "/api/albums", function( data ) { // //Data.albums is an array of all the albums @@ -17,7 +66,6 @@ $(document).ready(function() { // handleNewSongButtonClick(data.albums); // }); - var $albums = $('#albums'); $.ajax({ type: 'GET', @@ -61,20 +109,26 @@ function renderAlbum(album) { "
    " + "
    " + "
      " + - "
    • " + + "
    • " + + "

      " + "

      Album Name:

      " + - " " + album.name + "" + - "
    • " + - "
    • " + + " " + album.name + "" + + " " + + "

      " + + "

      " + "

      Artist Name:

      " + - " " + album.artistName + "" + - "
    • " + - "
    • " + + " " + album.artistName + "" + + " " + + "

      " + + "

      " + "

      Released date:

      " + - " " + album.releaseDate + "" + - "
    • " + - "
    • " + - " " + + " " + album.releaseDate + "" + + " " + + "

      " + + + " " + + " " + + " " + "
    • " + "
    " + "
    " + @@ -170,6 +224,48 @@ function renderAlbum(album) { // } +//edit + +// $albums.delegate('.editAlbum', 'click', function() { +// var $li = $(this).closest('li'); +// $li.find('input.album-name').val($li.find('span.album-name').html()); +// $li.find('input.artist-name').val($li.find('span.artist-name').html()); +// $li.find('input.album-releaseDate').val($li.find('span.album-releaseDate').html()); +// $li.addClass('edit'); +// }); + +// $albums.delegate('.cancelEdit', 'click', function() { +// $(this).closest('li').removeClass('edit'); +// }); + +// $albums.delegate('.saveEdit', 'click', function() { +// var $li = $(this).closest('li'); +// var album = { +// artistName: $li.find('imput.artist-name').val(), +// name: $li.find('imput.album-name').val(), +// releaseDate: $li.find('imput.album-releaseDate').val() +// }; + +// $.ajax({ +// type: 'PUT', +// url: '/api/albums' + $li.attr('data-album-id'), +// data: album, +// success: function (newAlbum) { +// $li.find('span.album-name').html(album.name); +// $li.find('span.artist-name').html(album.artistName); +// $li.find('span.artist-name').html(releaseDate); +// $li.removeClass('edit'); + +// }, +// error: function() { +// alert('error updating album'); +// } + +// }); +// }); + + + diff --git a/server.js b/server.js index 05662a5..3fa1c32 100644 --- a/server.js +++ b/server.js @@ -88,6 +88,32 @@ app.post('/', function create (req, res) { }); }); +//update + +app.put('/api/albums/:id', function update_api_album (req, res){ + var id = req.params.id; + Album.find({_id: id}, function(err, album){ + if (err){ + console.log("ERROR WITH API ID", err); + + } + album.name = req.body.name; + album.artistName = req.body.artistName; + album.releaseDate = req.body.releaseDate; + album.save(function(err, saved) { + if (err) { + console.log(err); + } + res.json(saved); + }); + + }); + +}); + + + + /********** * SERVER * From 32d2c5ae6ff2d5f4badacc80ada95ec24ed9247d Mon Sep 17 00:00:00 2001 From: 93lucasp Date: Sun, 6 Mar 2016 15:34:11 -0800 Subject: [PATCH 32/41] update done --- server.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.js b/server.js index 3fa1c32..028d6c0 100644 --- a/server.js +++ b/server.js @@ -92,7 +92,7 @@ app.post('/', function create (req, res) { app.put('/api/albums/:id', function update_api_album (req, res){ var id = req.params.id; - Album.find({_id: id}, function(err, album){ + Album.findOne({_id: id}, function(err, album){ if (err){ console.log("ERROR WITH API ID", err); From f20565c329b3a90a4586f49ff660b09af32bbd58 Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Sun, 6 Mar 2016 16:14:19 -0800 Subject: [PATCH 33/41] about to merge --- server.js | 1 + 1 file changed, 1 insertion(+) diff --git a/server.js b/server.js index 3606017..7de9ccf 100644 --- a/server.js +++ b/server.js @@ -123,6 +123,7 @@ app.delete('/api/albums/:id', function delete_album (req, res){ + /********** * SERVER * **********/ From fba100346fe0cbd8c3d67b3f154bef345c153024 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Sun, 6 Mar 2016 17:34:42 -0800 Subject: [PATCH 34/41] modal now pops up --- public/js/app.js | 290 +++++++++++++++-------------------------------- server.js | 28 ++++- 2 files changed, 118 insertions(+), 200 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 068c8f8..85f6313 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -16,52 +16,41 @@ $(document).ready(function() { $li.find('input.artist-name').val($li.find('span.artist-name').html()); $li.find('input.album-releaseDate').val($li.find('span.album-releaseDate').html()); $li.addClass('edit'); -}); - -$albums.delegate('.cancelEdit', 'click', function() { - $(this).closest('li').removeClass('edit'); -}); - + }); -$albums.delegate('.saveEdit', 'click', function() { - var $li = $(this).closest('li'); - var album = { - artistName: $li.find('input.artist-name').val(), - name: $li.find('input.album-name').val(), - releaseDate: $li.find('input.album-releaseDate').val() - }; + $albums.delegate('.cancelEdit', 'click', function() { + $(this).closest('li').removeClass('edit'); + }); - $.ajax({ - type: 'PUT', - url: '/api/albums/' + $li.attr('editAlbumId'), - data: album, - success: function (newAlbum) { - $li.find('span.album-name').html(album.name); - $li.find('span.artist-name').html(album.artistName); - $li.find('span.album-releaseDate').html(album.releaseDate); - $li.removeClass('edit'); - }, - error: function() { - alert('error updating album'); - } + $albums.delegate('.saveEdit', 'click', function() { + var $li = $(this).closest('li'); + var album = { + artistName: $li.find('input.artist-name').val(), + name: $li.find('input.album-name').val(), + releaseDate: $li.find('input.album-releaseDate').val() + }; + + $.ajax({ + type: 'PUT', + url: '/api/albums/' + $li.attr('editAlbumId'), + data: album, + success: function (newAlbum) { + $li.find('span.album-name').html(album.name); + $li.find('span.artist-name').html(album.artistName); + $li.find('span.album-releaseDate').html(album.releaseDate); + $li.removeClass('edit'); + + }, + error: function() { + alert('error updating album'); + } - }); -}); + }); + }); //AJAX REQUEST TO ALBUMS API - // $.getJSON( "/api/albums", function( data ) { - // //Data.albums is an array of all the albums - // data.albums.forEach(function(album) { - // //we are added an entire div to the Albums div with our data embedded in jQuery - // renderAlbum(album); - // }); - // handleNewSongButtonClick(data.albums); - // }); - - - //this is the get call to occupy the index page with data from the db $.ajax({ @@ -80,7 +69,7 @@ $albums.delegate('.saveEdit', 'click', function() { }); // DELETE method - $('#albums').delegate('.deleteBtn','click', function(){ + $albums.delegate('.deleteBtn','click', function(){ // var $album = $(this).closest('.album'); var $albumId = $(this).attr('delete-album-id'); @@ -98,6 +87,7 @@ $albums.delegate('.saveEdit', 'click', function() { }); }); + //CREATE ALBUM // #singlebutton is the name of the submit button to make a new album $('#singlebutton').on('click', function(event) { event.preventDefault(); @@ -111,7 +101,7 @@ $albums.delegate('.saveEdit', 'click', function() { // here we grab the info from the form to make a new album and create // a new object, newAlbum, with the input info var newAlbum = { - name: $name, + name: $name, artistName: $artistName, releaseDate: $releaseDate, genres: $genres, @@ -119,23 +109,79 @@ $albums.delegate('.saveEdit', 'click', function() { }; $.ajax({ - type: 'POST', + type: 'POST', url: '/api/albums', data: newAlbum, - success: function(newAlbum){ + success: function(newAlbum){ renderAlbum(newAlbum); }, error: function(err) { alert("woah, hang on there a minute. We've got an issue: " + err); } - }); + }); }); + + //CREATE SONG + handleNewSongButtonClick(); + //end of document ready }); +//AFTER NEW SONG IS CLICKED +function handleNewSongButtonClick() { + //CREATE SONGS + + $('#albums').on('click', '.songModalButton', function(event) { + + var id= $(this).parents('.album').data('album-id'); // "5665ff1678209c64e51b4e7b" + console.log('id',id); + // console.log("album id on song modal: " + $('#songModal').data('album-id')); + + $('#songModal').data('album-id', id); + + //USES BOOTSTRAP/jQUERY TO OPEN THE MODAL + $('#songModal').modal(); + + handleNewSongSubmit(event); + + }); + +}; + + +//CALL THIS WHEN THE BUTTON ON THE MODAL IS CLICKED +function handleNewSongSubmit(event){ + + $('#saveSong').on('click', function(event) { + + event.preventDefault(); + + $songName = $('#songName').val(); + $trackNumber = $('#trackNumber').val(); + + var newSong = { + name: $songName, + trackNumber: $trackNumber + } + + $.ajax({ + type: 'POST', + url: '/api/albums', + data: newSong, + success: function(newSong){ + renderAlbum(newSong); + }, + error: function(err) { + alert("woah, hang on there a minute. We've got an issue: " + err); + } + }); + + }); +}; + // this function takes a single album and renders it to the page function renderAlbum(album) { @@ -184,7 +230,7 @@ function renderAlbum(album) { " " + album.releaseDate + "" + " " + "
  • " + - "

    Songs:

    " + + "

    Songs:

    " + " " + songStr + "" + " " + "
  • " + @@ -205,158 +251,6 @@ function renderAlbum(album) { "
    " + " "; - - // getting album div in order to append the HTML - // var $albumDiv = $("#albums"); - - // $albumDiv.append(albumHtml); - // getting album div in order to append the HTML - // var $albumDiv = $("#albums"); - // Here we are appending the above template with album info filled in $("#albums").append(albumTemplate); - - // var $songs = $(".songsSpan"); - - // var modalBtn = $(".songModalButton"); - // $songs.delegate('.songModalButton', 'click', function() { - // $(this).modal(); - // }); - - - // var $albumName = $(".album-name"); - // var $artistName = $(".artist-name"); - // var $albumReleaseDate = $(".album-releaseDate"); - - // var $deleteButton = ""; - - // $albumName.last().html(album.name); - // $artistName.last().html(album.artistName); - // $albumReleaseDate.last().html(album.releaseDate); -} - - -//this will build out our songs in each album and append it to the list - -// function buildSongsHtml (songs) { -// var songStr = ""; - -// // console.log(songs); -// songs.forEach(function(song) { -// songStr = songStr + "(" + song.trackNumber + ") " + song.name + "– "; -// }); -// var songHtml = -// "
  • " + -// "

    Songs:

    " + -// "" + songStr + "" + -// "
  • "; -// return songHtml; -// } - - - -// function handleNewSongButtonClick(albums) { -// $('#albums').on('click', '.add-song', function(e) { - -// var id= $(this).parents('.album').data('album-id'); // "5665ff1678209c64e51b4e7b" - -// $('#songModal').attr('album-id', id); -// $('#songModal').modal(); - -// handleNewSongSubmit(albums, id); - -// }); -// } - - -// function handleNewSongSubmit(albums, id) { -// $('#saveSong').on('click', function(event) { -// event.preventDefault(); - -// var album = albums.filter(function(selectedAlbum){ - -// if(id == selectedAlbum._id){ -// return selectedAlbum; -// // console.log(selectedAlbum._id); -// } -// }); - - -// console.log(album[0].songs); - - -// var $songName = $("#songName").val(); -// var $trackNumber = $("#trackNumber").val(); - -// var songObject = { -// name: $songName, -// trackNumber: $trackNumber -// }; -// // console.log(songObject); -// // $.postJSON( "/api/albums", function( data ) { -// album[0].songs.push(songObject); -// // }); -// }); -// } - - -//edit - -// $albums.delegate('.editAlbum', 'click', function() { -// var $li = $(this).closest('li'); -// $li.find('input.album-name').val($li.find('span.album-name').html()); -// $li.find('input.artist-name').val($li.find('span.artist-name').html()); -// $li.find('input.album-releaseDate').val($li.find('span.album-releaseDate').html()); -// $li.addClass('edit'); -// }); - -// $albums.delegate('.cancelEdit', 'click', function() { -// $(this).closest('li').removeClass('edit'); -// }); - -// $albums.delegate('.saveEdit', 'click', function() { -// var $li = $(this).closest('li'); -// var album = { -// artistName: $li.find('imput.artist-name').val(), -// name: $li.find('imput.album-name').val(), -// releaseDate: $li.find('imput.album-releaseDate').val() -// }; - -// $.ajax({ -// type: 'PUT', -// url: '/api/albums' + $li.attr('data-album-id'), -// data: album, -// success: function (newAlbum) { -// $li.find('span.album-name').html(album.name); -// $li.find('span.artist-name').html(album.artistName); -// $li.find('span.artist-name').html(releaseDate); -// $li.removeClass('edit'); - -// }, -// error: function() { -// alert('error updating album'); -// } - -// }); -// }); - - - - - - - - - - - - - - - - - - - - - +}; diff --git a/server.js b/server.js index 430abfb..aec330c 100644 --- a/server.js +++ b/server.js @@ -66,7 +66,7 @@ app.get('/api/albums', function album_index (req, res) { }); }); -//CREATE +//CREATE ALBUM app.post('/api/albums', function create (req, res) { var name = req.body.name; @@ -88,6 +88,30 @@ app.post('/api/albums', function create (req, res) { }); }); +//CREATE SONGS +app.post('/api/albums', function create_song (req, res) { + + var name = req.body.name; + var trackNumber = req.body.trackNumber; + + console.log(trackNumber); + + console.log(Album.songs); + + Album.songs.create({name: name, trackNumber: trackNumber}, function(err, song){ + if(err){ + console.log("OH FUCK AN ERROR! ", err); + } else { + // res.render(__dirname + '/views/index'); + + console.log(song); + res.json(song); + + // res.redirect('/'); + } + }); +}); + //update app.put('/api/albums/:id', function update_api_album (req, res){ @@ -110,7 +134,7 @@ app.put('/api/albums/:id', function update_api_album (req, res){ }); }); - + //SHOW INDIVIDUAL ALBUM app.get('/api/albums/:id', function show_api_album (req, res){ var id = req.params.id; From 0e091976b435788d31b634bb6c0238b852d8c59c Mon Sep 17 00:00:00 2001 From: nscalf561 Date: Sun, 6 Mar 2016 17:36:47 -0800 Subject: [PATCH 35/41] adds some styling, makes buttons sexy --- public/css/styles.css | 7 ++++- public/js/app.js | 60 ++++++++++++++++--------------------------- 2 files changed, 28 insertions(+), 39 deletions(-) diff --git a/public/css/styles.css b/public/css/styles.css index f28bc5e..abf2e83 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -23,4 +23,9 @@ ul li.edit .edit { ul li.edit .noedit { display: none; - } \ No newline at end of file + } + +.panel-footer { + text-align: right; + +} \ No newline at end of file diff --git a/public/js/app.js b/public/js/app.js index 068c8f8..b88f38f 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -162,56 +162,40 @@ function renderAlbum(album) { "
    " + "
      " + "
    • " + - "

      " + - "

      Album Name:

      " + - " " + album.name + "" + - " " + - "

      " + - "

      " + - "

      Artist Name:

      " + - " " + album.artistName + "" + - " " + - "

      " + - "

      " + - "

      Released date:

      " + - " " + album.releaseDate + "" + - " " + - "

      " + - - " " + - " " + - " " + - " " + album.releaseDate + "" + - "
    • " + - "
    • " + + "

      " + + "

      Album Name:

      " + + " " + album.name + "" + + " " + + "

      " + + "

      " + + "

      Artist Name:

      " + + " " + album.artistName + "" + + " " + + "

      " + + "

      " + + "

      Released date:

      " + + " " + album.releaseDate + "" + + " " + + "

      " + "

      Songs:

      " + " " + songStr + "" + - " " + + " " + "
    • " + "
    " + "
    " + "
    " + " " + - " " + // end of panel-body - - " " + - " " + " " + " "; - - // getting album div in order to append the HTML - // var $albumDiv = $("#albums"); - - // $albumDiv.append(albumHtml); - // getting album div in order to append the HTML - // var $albumDiv = $("#albums"); // Here we are appending the above template with album info filled in $("#albums").append(albumTemplate); From b8f8d53654ce7250de7a11282258255dd4cce1e8 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Sun, 6 Mar 2016 21:47:36 -0800 Subject: [PATCH 36/41] add image urls --- models/album.js | 6 +--- public/images/400x400.png | Bin 0 -> 8624 bytes public/images/bear_logo.svg | 54 ++++++++++++++++++++++++++++++++++++ public/js/app.js | 15 ++++++---- seed.js | 17 +++++++----- server.js | 7 +++-- views/index.ejs | 14 ++++++++-- 7 files changed, 91 insertions(+), 22 deletions(-) create mode 100644 public/images/400x400.png create mode 100644 public/images/bear_logo.svg diff --git a/models/album.js b/models/album.js index a99cbd0..0d320c8 100644 --- a/models/album.js +++ b/models/album.js @@ -5,6 +5,7 @@ var AlbumSchema = mongoose.Schema({ name: String, releaseDate: String, genres: [ String ], + imageUrl: String, description: String, songs: [Song.schema] }); @@ -12,8 +13,3 @@ var AlbumSchema = mongoose.Schema({ var Album = mongoose.model('Album', AlbumSchema); module.exports = Album; - - - - - diff --git a/public/images/400x400.png b/public/images/400x400.png new file mode 100644 index 0000000000000000000000000000000000000000..ee231af246063703221d8af07a5725fa73fbe726 GIT binary patch literal 8624 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 + + + + bear_logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/js/app.js b/public/js/app.js index 0a5a834..5addf69 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -15,6 +15,7 @@ $(document).ready(function() { $li.find('input.album-name').val($li.find('span.album-name').html()); $li.find('input.artist-name').val($li.find('span.artist-name').html()); $li.find('input.album-releaseDate').val($li.find('span.album-releaseDate').html()); + $li.find('input.image-url').val($li.find('span.image-url').html()); $li.addClass('edit'); }); @@ -28,7 +29,8 @@ $(document).ready(function() { var album = { artistName: $li.find('input.artist-name').val(), name: $li.find('input.album-name').val(), - releaseDate: $li.find('input.album-releaseDate').val() + releaseDate: $li.find('input.album-releaseDate').val(), + imageUrl: $li.find('input.image-url').val() }; $.ajax({ @@ -39,6 +41,7 @@ $(document).ready(function() { $li.find('span.album-name').html(album.name); $li.find('span.artist-name').html(album.artistName); $li.find('span.album-releaseDate').html(album.releaseDate); + $li.find('span.image-url').html(album.image-url); $li.removeClass('edit'); }, @@ -97,6 +100,7 @@ $(document).ready(function() { var $releaseDate = $('#releaseDate').val(); var $genres = $('#genres').val(); var $description = $('#description').val(); + var $imageUrl = $('#imageUrl').val(); // here we grab the info from the form to make a new album and create // a new object, newAlbum, with the input info @@ -105,7 +109,8 @@ $(document).ready(function() { artistName: $artistName, releaseDate: $releaseDate, genres: $genres, - description: $description + description: $description, + imageUrl: $imageUrl }; $.ajax({ @@ -203,7 +208,7 @@ function renderAlbum(album) { " " + "
    " + "
    " + - " album image" + + " album image" + "
    " + "
    " + "
      " + @@ -223,7 +228,7 @@ function renderAlbum(album) { " " + album.releaseDate + "" + " " + "

      " + - "

      Songs:

      " + + "

      Songs:

      " + " " + songStr + "" + "
    + +
    + +
    + +
    +
    +
    From 1abc8d96f4d8416f3587f5ff0380a648aec91f93 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Sun, 6 Mar 2016 23:34:12 -0800 Subject: [PATCH 37/41] added logo and some css stylin --- public/css/styles.css | 83 ++++++++++++++++++++++++++++--- public/images/giftly.png | Bin 0 -> 5664 bytes public/images/kid_cubby_font.svg | 20 ++++++++ public/images/strange_bg.png | Bin 0 -> 29274 bytes views/index.ejs | 44 ++++++++++++++-- 5 files changed, 136 insertions(+), 11 deletions(-) create mode 100644 public/images/giftly.png create mode 100644 public/images/kid_cubby_font.svg create mode 100644 public/images/strange_bg.png diff --git a/public/css/styles.css b/public/css/styles.css index abf2e83..eef568f 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -1,9 +1,80 @@ .jumbotron { - background-image: url(/images/background1.jpg); - background-size: cover; - background-repeat: no-repeat; + margin-top: 0; + background: + linear-gradient( + rgba(238, 195, 27, 0.25), + rgba(255, 197, 11, 0.45) + ), + url(../images/giftly.png); + /*background-size: cover;*/ + background-repeat: repeat; color: #EEE; + /*background-color: rgba(0, 0, 255, 0.3);*/ + + height: 300px; + +} + +#brand-top-left{ + width: 70px; +} + +.navbar-collapse{ + /*background-color: #414042;*/ + background-color: rgba(0, 0, 255, 0); + font-family: 'Open Sans', sans-serif; +} + +.header{ + display: inline-block; + margin: 0 auto; + text-align: center; + +} + +.container{ + font-family: 'Open Sans', sans-serif; +} + +body{ + background-color: rgba(144, 213, 219, 0.1); + /*background: + linear-gradient( + rgba(144, 213, 219, 0.3), + rgba(144, 213, 219, 0.6) + ), + url(../images/giftly.png);*/ } + +.panel-footer{ + border: 0px; + background-color: white; +} + +#title{ + /*font-size: 100px; + font-family: 'Indie Flower', cursive;*/ + margin: 0 auto; + text-align: center; + width: 200px; +} + +#kid-cubby-font{ + margin-top: 10px; +} + +#subtitle{ + font-family: 'Indie Flower', cursive; + text-align: center; + color: #414042; + margin-top: 20px; + font-size: 25px; +} + +#bear-logo{ + width: 100px; +} + .jumbotron .container { height: 350px; } @@ -20,12 +91,12 @@ ul li .edit { ul li.edit .edit { display: initial; } - + ul li.edit .noedit { display: none; } .panel-footer { text-align: right; - -} \ No newline at end of file + +} diff --git a/public/images/giftly.png b/public/images/giftly.png new file mode 100644 index 0000000000000000000000000000000000000000..abf4d0093063f5fd1f5952d14d3859b86d1f2753 GIT binary patch literal 5664 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 SZ-`pHVko5R*><~t8~+2lMXDeG literal 0 HcmV?d00001 diff --git a/public/images/kid_cubby_font.svg b/public/images/kid_cubby_font.svg new file mode 100644 index 0000000..6147a62 --- /dev/null +++ b/public/images/kid_cubby_font.svg @@ -0,0 +1,20 @@ + + + + + logo + + + + + + + + + + + diff --git a/public/images/strange_bg.png b/public/images/strange_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..9afda79fe406a678eb068e79bbc787a07b18b799 GIT binary patch literal 29274 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

    t);DD~v+VcgJel0Es?q!9 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 N002ovPDHLkV1nTFwDAA{ literal 0 HcmV?d00001 diff --git a/views/index.ejs b/views/index.ejs index 10d8a1c..77b199b 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -4,7 +4,7 @@ - Kid Cubby + KID CUBBY @@ -13,16 +13,50 @@ - + + +

    -
    -

    kid cubby

    -

    rap tracks for your rug rats

    +
    +

    + + + kid cubby +

    +

    Rap tracks for your rugrats!

    From 8c9a52af16740132f6f570dc508f9579e77505f4 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Mon, 7 Mar 2016 00:02:44 -0800 Subject: [PATCH 38/41] added album images and songs to seed file --- public/images/mattybraps.jpg | Bin 0 -> 54248 bytes public/images/snoopdogg_doggystyle.jpg | Bin 0 -> 87382 bytes public/images/straight_outta_compton.jpg | Bin 0 -> 34708 bytes seed.js | 97 ++++++++++++----------- 4 files changed, 50 insertions(+), 47 deletions(-) create mode 100644 public/images/mattybraps.jpg create mode 100644 public/images/snoopdogg_doggystyle.jpg create mode 100644 public/images/straight_outta_compton.jpg diff --git a/public/images/mattybraps.jpg b/public/images/mattybraps.jpg new file mode 100644 index 0000000000000000000000000000000000000000..65fc2e1e8e09f41e55aa18b578432446e9152357 GIT binary patch literal 54248 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/wnYkE+>9|wC#m}QbrJR7o5w_{ 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 Date: Mon, 7 Mar 2016 00:06:47 -0800 Subject: [PATCH 39/41] fixed bug on save --- public/js/app.js | 2 +- server.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/js/app.js b/public/js/app.js index 5addf69..e9c2957 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -41,7 +41,7 @@ $(document).ready(function() { $li.find('span.album-name').html(album.name); $li.find('span.artist-name').html(album.artistName); $li.find('span.album-releaseDate').html(album.releaseDate); - $li.find('span.image-url').html(album.image-url); + // $li.find('span.image-url').html(album.image-url); $li.removeClass('edit'); }, diff --git a/server.js b/server.js index f9eebfe..10fd6d2 100644 --- a/server.js +++ b/server.js @@ -125,7 +125,7 @@ app.put('/api/albums/:id', function update_api_album (req, res){ album.name = req.body.name; album.artistName = req.body.artistName; album.releaseDate = req.body.releaseDate; - album.imageUrl = req.body.imageUrl; //Not implemented yet in other functions + // album.imageUrl = req.body.imageUrl; //Not implemented yet in other functions album.save(function(err, saved) { if (err) { From 9d84dee3f5e6462d324be8ff257ee1a1ecd1d501 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Mon, 7 Mar 2016 00:09:38 -0800 Subject: [PATCH 40/41] styling --- public/css/styles.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/css/styles.css b/public/css/styles.css index eef568f..6b36e24 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -23,6 +23,8 @@ /*background-color: #414042;*/ background-color: rgba(0, 0, 255, 0); font-family: 'Open Sans', sans-serif; + + margin-bottom: 0px; } .header{ From 96af37735be648ecd47038cd54fcc02907497888 Mon Sep 17 00:00:00 2001 From: nreddy216 Date: Tue, 8 Mar 2016 18:42:24 -0800 Subject: [PATCH 41/41] login functionality on one page app without using separate login page --- .gitignore | 1 + config/passport.js | 55 +++++++++++++++++++++++++++++++++++++++++++ models/user.js | 11 +++++++++ package.json | 4 ++++ public/css/styles.css | 6 +++++ server.js | 43 ++++++++++++++++++++++++++++++--- views/index.ejs | 12 ++++++++++ views/login.ejs | 22 +++++++++++++++++ 8 files changed, 151 insertions(+), 3 deletions(-) create mode 100644 config/passport.js create mode 100644 models/user.js create mode 100644 views/login.ejs diff --git a/.gitignore b/.gitignore index 7b7647d..8bc6a3d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ **node_modules +secrets.js diff --git a/config/passport.js b/config/passport.js new file mode 100644 index 0000000..2679459 --- /dev/null +++ b/config/passport.js @@ -0,0 +1,55 @@ +var User = require('../models/user'); +var FacebookStrategy = require('passport-facebook').Strategy; +var OAuth = require('../secrets'); + +module.exports = function(passport){ + passport.serializeUser(function(user, done) { + done(null, user._id); + }); + + passport.deserializeUser(function(id, done) { + User.findById(id, function(err, user) { + console.log('deserializing user:',user); + done(err, user); + }); + }); + + passport.use('facebook', new FacebookStrategy({ + clientID : OAuth.fb.clientID, + clientSecret : OAuth.fb.clientSecret, + callbackURL : 'http://localhost:3000/auth/facebook/callback', + enableProof : true, + profileFields : ['name', 'emails'] + }, function(access_token, refresh_token, profile, done) { + + // // Use this to see the information returned from Facebook + // console.log(profile) + + process.nextTick(function() { + + User.findOne({ 'fb.id' : profile.id }, function(err, user) { + if (err) return done(err); + if (user) { + return done(null, user); + } else { + + var newUser = new User(); + newUser.fb.id = profile.id; + newUser.fb.access_token = access_token; + newUser.fb.firstName = profile.name.givenName; + newUser.fb.lastName = profile.name.familyName; + newUser.fb.email = profile.emails[0].value; + + newUser.save(function(err) { + if (err) + throw err; + + return done(null, newUser); + }); + } + + }); + }); + })); + +} diff --git a/models/user.js b/models/user.js new file mode 100644 index 0000000..a32adab --- /dev/null +++ b/models/user.js @@ -0,0 +1,11 @@ +var mongoose = require('mongoose'); + +module.exports = mongoose.model('User', { + fb: { + id: String, + access_token: String, + firstName: String, + lastName: String, + email: String + } +}); diff --git a/package.json b/package.json index 5aaf099..8a4e619 100644 --- a/package.json +++ b/package.json @@ -18,10 +18,14 @@ "homepage": "https://github.com/tgaff/tunely#readme", "dependencies": { "body-parser": "^1.15.0", + "cookie-parser": "^1.4.1", "ejs": "^2.4.1", "express": "^4.13.3", + "express-session": "^1.13.0", "method-override": "^2.3.4", "mongoose": "^4.4.6", + "passport": "^0.3.2", + "passport-facebook": "^2.1.0", "path": "^0.12.7" } } diff --git a/public/css/styles.css b/public/css/styles.css index 6b36e24..e035b46 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -15,6 +15,12 @@ } +.username{ + float: right; + margin-top: 15px; + font-weight: bolder; +} + #brand-top-left{ width: 70px; } diff --git a/server.js b/server.js index 10fd6d2..7cdebd1 100644 --- a/server.js +++ b/server.js @@ -8,6 +8,21 @@ var bodyParser = require('body-parser'); var db = require('./models'); var Album = require('./models/album'); var path = require('path'); +var expressSession = require('express-session'); +var cookieParser = require("cookie-parser"); + +var passport = require('passport'); +var User = require('./models/user'); + +// Middleware +app.use( cookieParser() ); +app.use(expressSession({secret: 'mySecretKey'})); +app.use(passport.initialize()); +app.use(passport.session()); + +// Setting up the Passport Strategies +require("./config/passport")(passport); + app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended: true})); @@ -33,12 +48,34 @@ app.use(express.static(__dirname + '/public')); * HTML Endpoints */ -// + + +//LOGIN +// app.get('/login', function homepage (req, res) { +// res.render('login', {user: req.user}); +// }); + +//authenticate with facebook +app.get('/auth/facebook', passport.authenticate('facebook', { scope: 'email'} )); +//redirect to index if logged in +app.get('/auth/facebook/callback', + passport.authenticate('facebook', { + successRedirect: '/', + failureRedirect: '/' + }) +); + + +//ROOT app.get('/', function homepage (req, res) { - res.render(__dirname + '/views/index.ejs'); + res.render(__dirname + '/views/index.ejs', {user: req.user}); }); - +//LOGOUT +app.get("/logout", function logout(req, res){ + req.logout(); + res.redirect("/") +}); /* * JSON API Endpoints diff --git a/views/index.ejs b/views/index.ejs index 77b199b..7979e41 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -38,7 +38,19 @@ + <% if (user) { %> +

    + Hello, <%= user.fb.firstName %>! +

    + <% } %> + + + + + Facebook authentication + + +

    Welcome to Kid Cubby

    +
    + <% if (user) { %> +

    Below is the data sent by facebook

    +
    +          <%= user.fb %>
    +        
    + Logout + <% } else { %> + Login with Facebook + <%}%> +
    + +