- Diagnosing if you're ready to put together Senior Phase projects
- The biggest question we're trying to ask with this test is:
can you write a single page CRUD (create, read, update, delete) app?
- if so, you'll be able to start working on larger scale projects
- Spec-based
- It'll look a lot like your Pillars Checkpoint
- Express, Sequelize, React, Redux, React-Redux
- Time: 3 hours
- You will get more official/specific descriptions for the Senior Checkpoint from your intsructors. *
- They are your single-source of truth. *
-
Comprehensive Conceptual Understanding
-
Senior Enrichment
- can diagnose what you know how to do and what you need to figure out
- helps you better understand the data flows from back to front end
- is a smaller scale example of the kind of work you'll be doing in Senior Phase
- helps your instructors/fellows diagnose where you are, especially if you happen to test poorly
- covers all the libraries and frameworks you will be tested on
-
Stack Chat
- emphasis on React, Redux, and React-Redux
- reviewing the entire code base here will show you a fullstack application
-
WikiStack
- for Express and Sequelize
- tip: skip the set up portion for middle ware and go straight to practising routes, models, and sequelize queries
-
-
If you're struggling with test specs && || the testing environment
-
Cody's Cafe
- mimics the level of difficulty and test specs
- good for more advanced testing on Express and Sequelize
-
Cody's Quiz
- can be paired with Cody's Cafe to add in React
- React is more basic with this quiz
-
Re-do your takehome checkpoints (Express, Sequelize, React, and Redux)
- quick tip: for Express only re-do the Routes portion, the models are just a stand-in for Sequelize which hadn't been taught yet.
-
If there is a question below you cannot answer, you should look back to that part of the curriculum and / or reach out to your fellow or instructor with questions.
- Do I know how to write CRUD routes?
- Create / POST with
router.post
- Read / GET with
router.get
- Update / PUT with
router.put
- Delete / DELETE with
router.delete
- Create / POST with
- Also, do I know how to deal with errors in routes?
- Detect an error
- Forward to error handling middleware
- Define error handling middleware
- Do I know how to do CRUD with Sequelize?
Model.create()
Model.findAll()
Model.update()
Model.destroy()
- Do I know how to define a model with
db.define
?- Columns
- Class methods
- Instance methods
- Hooks
- Do I know how to use associations?
- What are associations?
- How does it affect the database and / or my code when I use an association?
- What is the syntax for defining an association?
- How can I query with an association (namely, eager loading with
include
)?
- Can I define a class component?
- Can I define functional component?
- Can I render a component in JSX and pass it props?
- Can I receive props and render them in my component?
- Can I set up my state properly?
- Can I wire up state changes for user events?
- Can I set up the root of my React view with
ReactDOM.render()
? - Can I work with forms and user inputs?
- Do I know how to define an action / action creator?
- Do I know how to define a reducer?
- Can I wire up logic for handling different action types?
- Can I update a state without mutating it? Even "nested" state?
- Do I know how to define a thunk?
- Do I understand how actions, thunks, and reducers work to update the state?
- Do I understand connect?
- what it does?
- how to write it?
- where in my code to write it?
- Do I understand mapStateTo Props & mapDispatchToProps?
- what it does
- how to write it?
- where in the code to write it?
- Do I know how to use strings and string methods?
- Do I know how to use arrays and array methods?
- Do I know how to interact with objects?
- Do I know how to use functions, including higher order functions?
- Do I know how to define and use loops, including nested loops?