Skip to content

MaYatKit/Fantastic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fantastic

Fantastic is a party webapp that lets guests collaborate on a music playlist that should be played in the party. More details about the application can be found in the wiki. Live demo: https://partymusicapp.herokuapp.com

Responsive UI:

Real-time Synchronization (The left is a host page, right is a guest page):

Building

Dependencies

  1. Nodejs: Fantastic uses Node.js to build the backend, Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine.
  2. Expressjs: Fantastic uses expressjs to build the API endpoints in the server
  3. Socket.io: Fantastic uses socket.io to sync updates between multiple users and the client and server
  4. MongoDB: Fantastic is built upon MongoDB Atlas Cloud Service. Set up a Clusters for your project. For user management, you can use website or Compass to connect to your database.
  5. Spotify, Passport-Spotify: Fantastic plays music from Spotify. Set up a Spotify Developer Application (you need a Spotify Premium account) and configure the OAuth redirect URL. Usually at least http://localhost:3000 is needed for a dev-environment; Passport-Spotify is a library to authenticate with spotify following the OAuth2.0 strategy.
  6. React: Fantastic constructs frontend using React, a JavaScript library for building user interfaces , which is Declarative, Component-Based and Scalable.

Environment Files

Fantastic loads sensitive configuration variables though .env files.

  • server/.env: This file includes some configuration for Spotify and MongoDB such as spotify client ID, spotify client secret and spotify callback url and MongoDB database URI:
    SPOTIFY_CLIENT_ID='...'
    SPOTIFY_CLIENT_SECRET='...'
    SPOTIFY_CALLBACK_URL='...'
    MONGODB_URI='...'

Building & Testing

The client/package.json contains all necessary dependencies for building the Fantastic frontend.

  • npm run test: Runs all unit tests in the files with suffix .test.js.
  • npm start: Starts the server locally at localhost:3000

The server/package.json contains all necessary dependencies for building the Fantastic backend.

  • npm run test: Runs all unit tests in the test folder for the backend
  • npm start: Starts the server locally at localhost:1000

Contributing

This application was made as a group project for the Softeng750/Compsci732 course at the University of Auckland. If you would like to contribute to it:

  1. Fork it :octocat:
  2. Create your feature branch: git checkout -b my-improvement
  3. Make your changes and test them
  4. Commit & push your changes
  5. Submit a pull request 🚀

License

License is held by The University of Auckland.

About

A party music web app conducted by using React + Node.js.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published