Code Monkey home page Code Monkey logo

spotify-react-player's Introduction

CMSI 370 Interaction Design, Fall 2019

Assignment 1029

Now that you have your design and some startup know-how, you must be itching to start implementing it. So now we will, but in two phases.

The first phase is solely about the front end. We will leave stubs, placeholders, or mocks at the points where we expect to call our chosen web service APIs. Filling those in will be the concern of Assignment 1114. For this assignment, we focus on the core content of the course: your application’s user interface.

Resources to help you with this include many of the links listed on the course website, assorted samples from the bazaar repository, and the starter files that are included with your GitHub Classroom repositories for this assignment, once you have set yourself up.

Background Reading

For this assignment, you will most likely use the reference documentation of your chosen web service API. To review the big picture, you can refer back to this Prezi along with the class screengrab recording that talks through this big picture.

Best Practices and Automated Feedback

Because you are using the same repository for this assignment, you should be good to go with automated feedback. If not, then what’s taking you so long?

For Submission: API Integration

Replace the API stubs and mocks in your front end with actual requests to your chosen web service API. If you maintained the recommended design for this layer in Assignment 1029, then this part should be a no-brainer: once finished, your front end will “just work” and immediately shift to reading and writing real information to/from your chosen web service API. Once you have a broader range data coming in and out of your application, undiscovered bugs or areas of improvement may emerge, so make sure you run your front end through its paces afterward, fixing any issues that emerge.

The starter code for the technology stacks all contain an extra “real API” file that genuinely implements one web service API call for you. Pattern your full API implementation after that code.

Once this step is finished, you should have a complete application, with a user interface of your design and implementation communicating with a real-world web service.

How to Turn it In

Edit your front end code “in place” (i.e., keep on working on the code that you submitted for Assignment 1029) and continue to commit and push it as needed. If you need to revisit first principles, you can refer to the original starter code in the repository (aren’t you glad that you copied these files in the beginning, rather than going straight to editing them?).

Thus, your submission is simply a continuation of the work that you started with the front end. Evaluating your work will proceed as before, based on the files at the top level of the repository.

Specific Point Allocations

Programming assignments are scored according to outcomes 3a, 3b, and 4a to 4f in the syllabus. For this particular assignment, graded categories are as follows:

Category Points Outcomes
API Calls (evenly divided among the implemented 3 or more calls) 60 3a, 3b, 4a, 4b, 4d
Test Suite and Coverage 20 4a
Linting deduction only 4c
Version Control deduction only 4e
Punctuality deduction only 4f
Total 80

The last three graded categories are “deduction only,” meaning that you will only get points taken off if there are significant issues with those categories. Such issues include but are not limited to: lingering linting errors as of the final commit (4c), insufficiently granular or unmessaged commits (4e), and late commits (4f).

React Web Front End Sample Using Classes

This folder contains a very simple React-based web front end sample that uses the Giphy API to search for then display matching animated GIFs. The project was bootstrapped with Create React App. The most recent version of its guide can be found here.

The “style” of component used here is class-based: i.e., components are defined via the definition of a React Component subclass.

Setup

From a fresh clone, run npm install.

Execution

To see the site locally, run npm start then visit http://localhost:3000.

Tests

Run tests with npm test. Look at your test coverage with npm test -- --coverage.

Build/Deploy

Create a deployment-ready build with npm run build.

Style/Component Libraries

If you don’t feel like styling your components yourself, you might consider the following:

  • Font Awesome: A convenient and powerful collection of icons and glyphs—they have a free set which anyone may use
  • Material UI: React components that implement Google’s Material Design
  • reactstrap: React components that mimic Bootstrap 4

Not style-related, but still potentially useful, is React Router. This allows your application to serve up multiple URLs while still retaining a unified code base:

spotify-react-player's People

Contributors

dependabot[bot] avatar dondi avatar mihirsamdarshi avatar

Watchers

 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.