- Demonstrate mastery of material in this course
- Push yourself — integrate with a new API!
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.
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.
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
Restrictions:
- Do not recreate blackjack or anything like blackjack (i.e. war)
- The code should be written in ES6 as much as possible
- Use the
create-react-app
generator to start your project.- Follow the instructions on this repo to setup the generator: create-react-app
- Your app should have one HTML page to render your react-redux application
- There should be 2 containor components
- 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 to send data to and receive data from a server
- Your Rails API should handle the data persistance. 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!
Go wild! These are only the basic requirements — you're free to add on as much stuff as you'd like.
Use this blog to hook up a React-Redux frontend to your rails API backend: Setup Rails API with React
- 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.
- Refactor/reorganize your code.
- Build out extra basic functionality.
- Try to talk through your process clearly, using technical terms you know as precisely as possible.
- If you make a mistake, correct yourself! We all mess up — shake yourself off and keep plugging.
- Trust your instincts.
- Trust us.
- Think on your feet. Feel free to look things up while you're pairing with us.
- Explain the details — we like details!
- You're going to learn a ton during the pairing session. We'll give you pointers and ways to improve your code. That doesn't mean that your code was wrong, just that (as with all of our code), it can be improved. Ask us questions if you don't understand (or even if you think you might not)!
- 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.