Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
3bcd0f7
Create Proposal.md
eliehess Sep 27, 2019
0dbc2e6
Update Proposal.md
eliehess Sep 27, 2019
f48c6dd
Server (#2)
RandyAgudelo Sep 27, 2019
b915f8c
removed view engine
retat Sep 27, 2019
bfad5c4
removed view engine (#3)
Sep 27, 2019
34a0463
Merge remote-tracking branch 'origin/master'
retat Sep 27, 2019
2b69eb2
added login and registration functionality
retat Sep 28, 2019
75a896d
added favicon
retat Sep 29, 2019
d65736f
Merge pull request #4 from cs4241-best-group/login-and-registration
cenright71925 Sep 30, 2019
93f50db
Made preliminary layout for home page
cenright71925 Oct 1, 2019
2e6d083
Spotify Integration
RandyAgudelo Oct 1, 2019
55f7cc7
Added caption to sidebar
cenright71925 Oct 1, 2019
ad8edb0
Merge remote-tracking branch 'origin/homepage-layout' into Spotify-In…
retat Oct 1, 2019
3c344bf
Access token added
RandyAgudelo Oct 1, 2019
d0a4bfc
added spotify player with play and pause functionality
retat Oct 1, 2019
20518ab
Merge remote-tracking branch 'origin/include-spotify-player' into Spo…
RandyAgudelo Oct 2, 2019
61c8669
Merge pull request #5 from cs4241-best-group/homepage-layout
retat Oct 2, 2019
32013e6
Merge branch 'include-spotify-player' into Spotify-Integration
retat Oct 2, 2019
5d82336
Minor changes
eliehess Oct 2, 2019
1591ce7
working on spotify token connection to backend
retat Oct 2, 2019
5cb402c
Merge remote-tracking branch 'origin/Spotify-Integration' into Spotif…
RandyAgudelo Oct 2, 2019
719723a
Undo some unnecessary changes
eliehess Oct 3, 2019
9ef0a47
Merge pull request #6 from cs4241-best-group/cleanup
retat Oct 3, 2019
d2035e9
Merge branch 'master' into username
eliehess Oct 3, 2019
0ca9e38
Merge branch 'master' into username
eliehess Oct 3, 2019
4c6624c
added streaming scope so token works!
retat Oct 3, 2019
a04d418
Merge remote-tracking branch 'origin/Spotify-Integration' into Spotif…
RandyAgudelo Oct 3, 2019
1af2af8
Add get current user
eliehess Oct 3, 2019
e353a0e
Merge branch 'Spotify-Integration' into username
eliehess Oct 3, 2019
91c3f33
Logout actually works :shockedpikachuface:
eliehess Oct 3, 2019
2aca60a
Merge pull request #7 from cs4241-best-group/username
retat Oct 3, 2019
1e180e2
Added bootsrap table with sample data
cenright71925 Oct 3, 2019
6eaf10d
Push to spotify branch
cenright71925 Oct 3, 2019
976639c
Add default image if song not found
eliehess Oct 3, 2019
6e1d7f5
backend route to create recommendations
retat Oct 3, 2019
9a1848f
Merge remote-tracking branch 'origin/save-recommendations-to-db' into…
retat Oct 3, 2019
7e96628
Merge branch 'songnotfound' into homepage-layout
eliehess Oct 4, 2019
6463c2c
fixed play and pause button
retat Oct 4, 2019
971fa5a
Added scrollable song list
cenright71925 Oct 4, 2019
50c7037
resolved merge conflicts
cenright71925 Oct 4, 2019
6b8e965
Added hidden ID field to the table
cenright71925 Oct 4, 2019
7f6bc6e
search works with correct spotify results and shows them in a table
retat Oct 4, 2019
78deca3
Added hidden Id field to table with real results
cenright71925 Oct 4, 2019
8170656
Add get("/recommendation")
eliehess Oct 4, 2019
9dd5605
Fix incorrect variable usage
eliehess Oct 4, 2019
482353d
Autoformat!
eliehess Oct 4, 2019
915d2ec
Add autofocus to username field
eliehess Oct 4, 2019
9834ffd
added star rating
retat Oct 4, 2019
f9d30e4
Merge remote-tracking branch 'origin/star-rating' into get-search-res…
retat Oct 4, 2019
a21e902
Non-functional (code executes out-of-order)
eliehess Oct 4, 2019
4e49286
Get recommendations actually works
eliehess Oct 5, 2019
ab0cef1
Simplify and delete commented-out code and console.log()s
eliehess Oct 5, 2019
674a797
Change variable names
eliehess Oct 5, 2019
486ae33
Add recommendations from database to home page
eliehess Oct 5, 2019
a8d8fbd
Check number of entries before displaying them all
eliehess Oct 5, 2019
fef2170
Add refresh button and error checking if there are no recommendations…
eliehess Oct 6, 2019
87895a9
Mark comments to be deleted
eliehess Oct 6, 2019
bdcb318
Merge branch 'homepage-layout' into integration
eliehess Oct 6, 2019
54bf16a
Merge homepage-layout
eliehess Oct 6, 2019
de373cb
Merge branch 'Spotify-Integration' into integration
eliehess Oct 6, 2019
7786ad0
Merge branch 'get-search-results-json' into integration
eliehess Oct 6, 2019
706ceb0
Merge
eliehess Oct 6, 2019
12fd0ee
Fix bad things
eliehess Oct 6, 2019
4319850
Delete unnecessary table and revert port number
eliehess Oct 6, 2019
4fee173
Fixed some container styling
cenright71925 Oct 6, 2019
e6de095
Fixed formatting for side container
cenright71925 Oct 6, 2019
1662d68
Merge branch 'get-search-results-json' into integration
eliehess Oct 7, 2019
a09736a
Error Handling for non-premium account and identifying the webplayer …
RandyAgudelo Oct 7, 2019
1ad6dee
Merge remote-tracking branch 'origin/Spotify-Integration' into Spotif…
RandyAgudelo Oct 7, 2019
e0cf636
attempt to push
RandyAgudelo Oct 7, 2019
f17d9ba
Merge get-search-results
eliehess Oct 7, 2019
c167308
Bring back rateYo
eliehess Oct 7, 2019
e8599ef
Function prototype created
eliehess Oct 7, 2019
fe75635
Fixed table styling (#8)
cenright71925 Oct 7, 2019
e547493
Merge branch 'integration' into add-recommendation
eliehess Oct 7, 2019
77639d1
Merge remote-tracking branch 'origin/integration' into Spotify-Integr…
RandyAgudelo Oct 8, 2019
aea06c9
Adding recommendations works
eliehess Oct 8, 2019
e23581e
Merge pull request #9 from cs4241-best-group/Spotify-Integration
retat Oct 8, 2019
e54c687
Now submits track number and username
eliehess Oct 8, 2019
3b108b7
Fix warnings
eliehess Oct 8, 2019
3ac00e8
Revert "Merge remote-tracking branch 'origin/integration' into Spotif…
retat Oct 8, 2019
bad3f34
Revert previous commit
eliehess Oct 8, 2019
733dc04
Recommendations theoretically fully functional
eliehess Oct 8, 2019
c407ba9
it's possible to play other tracks now
retat Oct 8, 2019
9480400
Recommendations now show most recent first
eliehess Oct 8, 2019
7b427c0
Recommendations now use stars instead of numerals
eliehess Oct 8, 2019
eddc5e9
Change stars to images instead of unicode
eliehess Oct 8, 2019
2b6b4ab
Delete old recommendation builder
eliehess Oct 8, 2019
89177c0
Merge pull request #13 from cs4241-best-group/player-with-different-t…
cenright71925 Oct 8, 2019
7b05b63
Merge branch 'integration' into add-recommendation
eliehess Oct 8, 2019
9487633
Remove unnecessary console.log
eliehess Oct 8, 2019
9a8f2c0
fix play pause
retat Oct 8, 2019
2da9ee6
Merge pull request #14 from cs4241-best-group/add-recommendation
retat Oct 8, 2019
744fbf4
Merge remote-tracking branch 'origin/integration' into hotfix-playpause
retat Oct 8, 2019
387ff99
Merge pull request #15 from cs4241-best-group/hotfix-playpause
cenright71925 Oct 8, 2019
a784bdc
Added player header, worked on formatting
cenright71925 Oct 9, 2019
865c2c4
fixed wrong track id in recommendations
retat Oct 9, 2019
bb7a0d9
Merge pull request #16 from cs4241-best-group/recommendations-with-pl…
cenright71925 Oct 9, 2019
fe0ba82
Merge formatting with working player and integration
cenright71925 Oct 9, 2019
ff9ee30
Merge pull request #17 from cs4241-best-group/player-formatting
retat Oct 9, 2019
6949b71
Centered the ratings on recomendations bar
cenright71925 Oct 9, 2019
6422b68
Working on play pause button
cenright71925 Oct 9, 2019
d0c5629
fixed wrong track id in recommendations (#18)
retat Oct 9, 2019
97586c9
Changed select song button to a play symbol
cenright71925 Oct 9, 2019
425ea52
changed button colors to purple to fit the theme
cenright71925 Oct 9, 2019
3bb30a4
changed button color to be pink
cenright71925 Oct 9, 2019
3217b1f
Updated color of log in buttons
cenright71925 Oct 9, 2019
46b14e4
Merge remote-tracking branch 'origin/integration' into ui-edits
cenright71925 Oct 9, 2019
18de258
Merge pull request #20 from cs4241-best-group/ui-edits
retat Oct 9, 2019
e47f63f
responsive layout (#19)
retat Oct 9, 2019
ddc6312
Background visual (#21)
retat Oct 9, 2019
f7e775e
layout fixes
retat Oct 10, 2019
0c3d805
Fixed play pause button issue when switching songs
cenright71925 Oct 10, 2019
9d7e0c4
clears the form when a recomendation is made
cenright71925 Oct 10, 2019
bbfa6bc
Merge remote-tracking branch 'origin/integration' into ui-edits
cenright71925 Oct 10, 2019
fe8b359
trying fixes
retat Oct 10, 2019
05fe650
Changed the rating stars to purple
cenright71925 Oct 10, 2019
117a80b
trying fixes
retat Oct 10, 2019
b740b62
Made the rating card stars purple as well
cenright71925 Oct 10, 2019
51912cd
deleted bad file
cenright71925 Oct 10, 2019
f02002f
Merge pull request #23 from cs4241-best-group/turntable-fix-and-layout
cenright71925 Oct 10, 2019
da5cfde
Merge remote-tracking branch 'origin/integration' into ui-edits
cenright71925 Oct 10, 2019
1593d89
Update merge conflicts
cenright71925 Oct 10, 2019
a5f1f5b
Update README.md
cenright71925 Oct 10, 2019
3c6656a
Merge pull request #25 from cs4241-best-group/cenright71925-readme
retat Oct 10, 2019
e6f9d0e
Merge remote-tracking branch 'origin/integration' into ui-edits
retat Oct 10, 2019
9a9c1b4
deleted unnecessary js src
retat Oct 10, 2019
cf19631
Merge pull request #24 from cs4241-best-group/ui-edits
retat Oct 10, 2019
5def902
Merge pull request #26 from cs4241-best-group/integration
cenright71925 Oct 10, 2019
b63efd3
Integration (#37)
cenright71925 Oct 10, 2019
eecef0d
Update README.md (#38)
cenright71925 Oct 10, 2019
d228511
Update README.md
retat Oct 10, 2019
48994d4
Merge pull request #39 from cs4241-best-group/retat-patch-1
cenright71925 Oct 10, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
63 changes: 63 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# nyc test coverage
.nyc_output

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Typescript v1 declaration files
typings/

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env

# next.js build output
.next

.idea
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions .idea/fp.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/jsLibraryMappings.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions Proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Randy Agudelo, René Borner, Caitlin Enright, Elie Hess final project proposal:

For our final project, we will create a music-based social media application based on sharing music with others. Our website will have a global “feed” (similar to most social media sites), which will allow users to view songs recommended by others, listen to those songs, and recommend songs to the global community. Additionally, users will be able to rate songs from 1 to 5, and each song will display its average rating along with other information about the song. Finally, we will integrate with Spotify to play songs on the site. While a song is playing, the background of the site will display a simple audio visualization of the currently playing song.
112 changes: 61 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,51 +1,61 @@
# cs4241-FinalProject

For your final project, you'll implement a course project that exhibits your mastery of the course materials.
Similar to A4, this project gives you an opportunity to be creative and to pursue individual research and learning.

## General description

Your project should consist of a complete Web application, exhibiting facets of the three main sections of the course material:

- Static Web page content and design. You should have a project that is accessible, easily navigable, and features significant content.
- Dynamic behavior implemented with JavaScript.
- Server-side programming *using Node.js*. Typically this will take the form of some sort of persistent data, authentication, and possibly server-side computation.

Additionally, you should incorporate features that you independently research, design, and implement for your project.

## Project ideation

Excellent projects serve someone/some group; for this assignment you need to define your users and stakeholders. I encourage you to identify projects that will have impact, either artistically, politically, or in terms of productivity. Consider creating something useful for a cause or hobby you care about.

## Logistics

### Team size
Students are encouraged to work in teams of 2-5 students for the project. This will allow you to build a good project without expending an excessive amount of effort. While I would expect a team of four or five students to produce a project with more features, I expect a every team's work to exhibit all of the required facets described above.

### Deliverables

__Proposal:__
Provide an outline of your project direction and the names of the team members.
The outline should have enough detail so that staff can determine if it meets the minimum expectations, or if it goes too far to be reasonable by the deadline.
This file must be named proposal.md so we can find it.
Submit a PR to turn it in by Monday, September 30th, before class

There are no other scheduled checkpoints for your project.
You must be done in time to present before the final project demo day (October 10th).

#### Turning in Your Outline / Project

**NOTE: code is due before the project presentation day due to the end of term / grading schedule constraints**
Submit a second PR on the final project repo to turn in your app and code.

Deploy your app, in the form of a webpage, to Glitch/Heroku/Digital Ocean or some other service.
Folks on the same team do not need to post the same webpage, but must instead clearly state who is on the team in their proposal.
(Staff will use the proposal to build the grading sheet.)

## Final Presentation

Presentations will occur during the final day of class.

## FAQs

- **Can I use XYZ framework?** You can use any web-based frameworks or tools available, but for your server programming you need to use node.js.
# cs4241-FinalProject - Music App
Team Members: Randy Agudelo, René Borner, Caitlin Enright, Elie Hess

## 1. A brief description of what you created, and a link to the project itself.

Glitch: https://cs4241-best-group-fp-7.glitch.me/ <br>
Youtube video: https://youtu.be/rDX6Nd-vVTE <br>

We created a song recomendation sharing applications. Each user has their own account. When they sign in they see a feed of all song recomendations made. Song recomendations include the user who made it, the song name and artist, a comment about the song and a rating from 0-5 stars. Users can also add their on rating to the feed by used the bar on the left side of the page. They can search for any song on spotify using the seach bar and add their comment and rating. There is a song player at the top of the feed that allows the currently playing song to be paused or played. It also displays the album cover. When the song is playing there is a 3d vsualization in the background of the app that is in time with the current song. The album cover also spins like a record player. Any of the songs in the feed can be selected and then become the currently playing song. This allows users to hear the songs that they are reading recomentdations about.

## 2. Any additional instructions that might be needed to fully use your project (login information etc.)
In order to see the animation and hear the songs playing, you need to authorize a spotify premium account.


## 3. An outline of the technologies you used and how you used them.
- Spotify API’s: we used these API’s to allow the songs to be played through the app. It also let the user search for a certain track using the name. Information given by the api about the track’s beats and tempo helped to create the visualization in the background.
- Bootstrap: we used this for all of the layout and styling of the page to give the app a more cohesive look
- Three.js: This was used to create the 3-d background. The visual moves along with the beats of the currently playing song
- MongoDB: This was used for the database which stores the user login information as well as all of the recommendations (maybe write about password hashing & salting with bcrypt)
- jQuery: JQuery was used to help with onclick functionality and passing data

## 4. What challenges you faced in completing the project.
The spotify api does not return an mp3 file so making the 3d visualizations based off of numerical data was difficult
We had problems working with the spotify Web API because of the authorization process and the many possible routes etc
Certain bootstrap elements had preset values that were confusing to understand and difficult to work around.

## 5. What each group member was responsible for designing / developing.

Caitlin Enright:
- Created basic homepage layout
- Worked on search functionality and interactable table
- Created recommendation form
- Made UI changes about color, layout, spacing
- Helped set spotify player to current track
- Play/Pause button changes

Elie Hess
- Created main recommendation feed
- Made client-side functions to add and retrieve recommendations to/from MongoDB
- Created the current star rating system
- Tweaked UI to look cleaner
- Worked on code cleanup, optimization
- Managed Git repo

Randy Agudelo:
- Registered Spotify application to be able to work with the premium Spotify users
- Initialized the server
- Worked on the server and backend to authorize the user through Spotify to gain access to their account
- Created different paths on the server to get specific Spotify Info
- Created an audio visualizer in the background
- Helped with some of the error handling

René Borner:
- MongoDB setup with authentification and recommendation functionality and backend routes
- Backend and frontend connection for different functionalities like getting the spotify token in the frontend
- Round and turning song cover image
- Worked on spotify player with track number
- Worked on search functionality
- Worked on star rating


Loading