Giter Site home page Giter Site logo

react-redux-assessment's Introduction

Building a client-side application with React-Redux

Objectives

  1. Demonstrate mastery of material in this course
  2. Push yourself — integrate with a new API!

Woo!

You made it! All of your hard work and long hours have lead you here... to this moment... a moment of glory! You've earned every gym badge, defeated every boss, wrestled with your inner daemons (heh) to ultimately lead you to this.

Jim Carrey Celebrating New Years

Your final assessment

This lesson covers your final assignment. It is supposed to be your magnum opus — a culmination of all the skills you've learned so far. It's going to be a tough one, but you'll make it through.

Overview

This assignment is open-ended when it comes to the actual content. You are free to create whatever you'd like, as long as it incorporates most of what you've learned in this course. If you don't have any inspiration at the moment, here are a couple of ideas:

  • Twitter client
  • Imgur browsing app
  • Reddit feed
  • Airbnb clone
  • Crossword puzzle
  • A simple board game

Requirements

  • The code should be written in ES6 as much as possible
  • Use the create-react-app generator to start your project.
  • Your app should have one HTML page to render your react-redux application
  • There should be 5 stateless components
  • There should be 3 routes
  • The Application must make use of react-router and proper RESTful routing (should you choose to use react-router v3 please refer to the appropriate docs; docs for v4 can be found here)
  • Use Redux middleware to respond to and modify state change
  • Make use of async actions and redux-thunk middleware to send data to and receive data from a server
  • Your Rails API should handle the data persistence with a database. You should be using fetch() within your actions to GET and POST data from your API - do not use jQuery methods.
  • Your client-side application should handle the display of data with minimal data manipulation
  • Your application should have some minimal styling: feel free to stick to a framework (like react-bootstrap), but if you want to write (additional) CSS yourself, go for it!
  • Once your app is complete, fill out this checklist.

Go wild! These are only the basic requirements — you're free to add on as much stuff as you'd like.

Assessment

Be prepared to

  1. Explain your code. You might be asked why you chose to solve things a certain way, or why you chose a certain library or code structure.
  2. Refactor/reorganize your code.
  3. Build out extra basic functionality.

What to expect from the pairing session

Your final project review is a comprehensive review that can cover all the topics that you have covered in the Learn.co curriculum. We will be asking the majority of questions about the final section, but don't be surprised if your interviewer asks questions about earlier topics. Like earlier reviews, we really do want you to succeed, and we'll work with you as many times as necessary to get you through the review if you don't nail it the first time (which is quite common and completely OK). However, we will potentially give you a hard time, cut you off, push you on your use of vocabulary and/or your coding choices. We want to try to give you a sense of what a coding interview might be like, so you build the confidence to describe your app and to write code even in a higher pressure, slightly more adversarial environment.

Be scrappy.

  • If you make a mistake, correct yourself.
  • Think on your feet. We will expect you to be able to explain development concepts to us, as well as expanding on concepts that you have already implemented, but you’ll also have the opportunity to look things up while you're live coding.

Make no little plans.

  • Approach live coding with a constructive attitude. You might feel nervous or uncertain, but as long as you are familiar with the section material you should be able to reason your way to a solution.
  • Be proud of your project and your code, and show confidence in it.

Radiate positivity.

  • Present yourself and your project in the best way possible.
  • Be open to feedback, both positive and constructive.
  • If the instructor asks you to complete additional features, or you missed a project requirement, be sure to ask questions in a positive manner without becoming argumentative. Learning to become a developer is complex and challenging, and it’s our job to find the holes in your knowledge and help you fill them. This is to help you become a better developer, not to delay your graduation.

Work Together.

  • Our goal is to give you the most thorough technical interview possible in the time allocated. This will include live coding where the instructor might give you one or two pointers, but will for the most part sit back and watch you code.
  • Ask clarification questions when you need them. Asking for more details is always ok.

Pursue mastery.

  • You will be expected to be able to present yourself as if you were in consideration for a developer position.
  • Use the best technical vocabulary you can. You will be expected to present yourself as a competent full stack developer.
  • Curiosity and willingness to learn are hugely valued in our industry. If there are things you don’t understand, then ask questions at the end of the review for more information. Your instructor will be able to point you to the appropriate section lead or technical coach for more information.

What won't happen

  • You won't be told you're ever wrong
  • You won't be yelled at, belittled, or scolded
  • You won't be put on the spot without support
  • There's nothing you can do to instantly fail or blow it.

View React Redux Portfolio Project on Learn.co and start learning to code for free.

react-redux-assessment's People

Contributors

jjseymour avatar morgvanny avatar lukeghenco avatar aspenjames avatar gj avatar jmburges avatar d-d-d-dalia avatar maxwellbenton avatar cernanb avatar ipc103 avatar achasveachas 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.