Giter Club home page Giter Club logo

fantastic's Introduction

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.

fantastic's People

Contributors

emzoo16 avatar mayatkit avatar jlaunz avatar claytonnishitanihart avatar dependabot[bot] avatar

Stargazers

xbuCHNNZ avatar  avatar  avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.