GA Logo

Project #3: React Application

Overview:

Your team will be creating a front end application using React.

You will be working as a team for this project, everyone must contribute. If 1 person does not contribute or 1 person does all the work then the entire team will fail the project requirements. If you pair program then please include the other persons github name in the commit.

What You've Learned

By the time you submit this project, you will have covered new ground in, and reviewed, many of the big themes of the course so far:

  • Command Line: Practice interacting with the computer and navigating the filesystem from the command line.
  • Source Control: Manage and interact with a git repository to store changes to code.
  • Programming Fundamentals: Work with objects, constructors, events, while learning how to strategically solve problems and resolve errors.
  • Web Fundamentals: Learn how communication happens over the internet, and how to structure, style, and animate documents within a browser. Also learn how to respond to actions your users take and the data they input into the browser.
  • Browser Applications: Dive into CSS, and figure out how to use libraries and frameworks to get lots of style and functionality for free.
  • Deployment: Host a web application in a managed hosting environment.
  • Responsive Web Design: Making web applications that respond to device size.
  • Server Side Applications: Server-side scripting is a technique used in web development which involves employing scripts on a web server which produce a response customized for each user's (client's) request to the website.
  • Databases: A structured set of data held in a computer, especially one that is accessible in various ways.
  • SQL: SQL is used to communicate with a database. It is the standard language for relational database management systems. SQL statements are used to perform tasks such as update data on a database, or retrieve data from a database.
  • Ruby: Ruby programming fundamentals including Object Oriented Programming with Classes and Inheritance.
  • Ruby on Rails: A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
  • AJAX: Using Axios to make asynchronous javascript calls.
  • APIs: Communicating to an API using Axios to fetch data.
  • React: A front end framework for building modern web applications.

Requirements

  • Build a web application using create-react-app. Must be your own work.
  • Use React framework to build your application with at least
    • 4 components
    • 4 props
    • 2 state properties
    • 2 setState
    • 2 routes
    • 1 API call with Axios and display the data for the user.
  • Craft a README.md file that explains your app to the world.
  • Recorded video demo of your application to submit your project.

Necessary Deliverables

Projects are due Thursday, 11/7 at 10am!

Submissions will be submitted by posting into slack

  • the recorded video demo
  • a link to your deployed application
  • a link to your github repository

The recorded video demo must be a 10-20 minute presentation in which you answer the following questions:

  • What is the application about?
  • What are the user stories for your application?
  • What API did you choose to use?
  • Demo of the application
  • Walk through a piece of code
  • What was the most difficult part of the team project?
  • What was your favourite part of working on a team?
  • What would your team like to add next?

Stretch Goals

DO NOT attempt stretch goals until all MVP requirements have been met!