Giter Club home page Giter Club logo

12-rest-and-github-api's Introduction

CF Lab 12: REST and APIs

Code of Conduct

Now that we understand how applications can handle different URLs, we can write code that communicates with other applications. Let each partner try out their own user info to get the chance to see their repos with their token. For today, please create a githubToken.js file in the root of your app. Open this file, create a variable, and store your access token. Add the new file to your .gitignore in the terminal by running echo githubToken.js >> .gitignore

Submission Instructions

When you are finished with lab, follow these steps to submit your work. Create one Pull Request (aka: "PR") from your Forked repo to the CF repo with your changes, and you'll each submit that same PR link in Canvas.

  1. Ensure that all your local changes are committed, and pushed to your origin repo.
  2. Visit the origin repo on github.com, and ensure that all of your completed work has been merged to master via Pull Requests within your repo.
  3. Create a new PR from your Fork to the CF repo and ensure the branches look correct.
  4. Fill in the template based on the text box prompts:
  5. Write a good descriptive summary of your changes: 1. Be sure to include how much time you spent on it, and who you worked with. 1. Briefly reflect on and summarize your process.
  6. When you create the PR, it will have a unique URL. Copy this link, share with your partner, and paste it into the assignment submission form in Canvas. Both the driver and the navigator will submit the same PR link.

Learning Objectives

  • Understand the history of HTTP, and the central role that REST plays.
  • Use RESTful routes for a web service, to retrieve their own GitHub repos
  • Design RESTful endpoints for their own blogging app

Resources

GitHub API documentation


Feature Tasks

  1. As a developer, I want to treat my GitHub repositories as a resource (with full MVC components), so that I can manage them within my blog.
  • You already have an aboutController.js,
  • so we need to add a repo.js model file,
  • and a repoView.js presentation layer.
  • GitHub API credentials should be stored in a local file (githubToken.js), but not committed to GitHub. Use .gitignore to prevent the file from being tracked (get help in lab if you don't know how to use .gitignore).
  • As the site owner, I want to highlight certain repos on my /about page so that everyone can see the great projects I am working on.
  • Retrieve and manipulate repo info in your model file.
  • You can choose exactly what API end point to use.
  • Craft an API query to return repos that you want to highlight.
  • Build out a Handlebars template in your view file to display these repos.
  • Ensure your code passes ESLint.
  • Place all code within the proper layer of MVC abstraction and encapsulation.
  • Use an authenticated AJAX call to GitHub's API to get your repos.
  • DO NOT publish your GitHub Token to any public repo.

Stretch Goals

  1. As the site owner, I want my lists of GitHub activity well designed, so visitors like looking at my page.
  • Start with a wireframe sketch of how you'd like the page to looking
  • Apply styles, as you've learned: icons, typography, colors, etc.
  1. As the site owner, I also want to show off other recent GitHub activity, so that everyone knows how active I am on GitHub.
  • Get creative with the data available to you via the GitHub API!
  • Want to create links to your gists?
  • Maybe highlight your GitHub followers, or whom you follow?

Rubric

Criteria Pts
Meets all Assignment Reqs 6
Uses idiomatic code style 3
Follows proper Git workflow 1
Total 10

12-rest-and-github-api's People

Contributors

kernamx avatar samhamm avatar ronbarrantes 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.