Welcome to Phase 4! This is the last phase of new material to learn before the end of the program, so strap in. You'll be building on the concepts from the previous phase and learning how to use a powerful framework, Rails, to build more complex backends.
By the end of the phase, you will be able to:
- Create RESTful APIs
- Validate data
- Build authentication into APIs
- Deploy backend applications
- Share data between a frontend JavaScript application and a backend API application
Use the schedule below to make sure you're working through the material at the right pace. The lessons marked with a ⭐️ are milestones that are useful to check your understanding of the material you've learned. If you feel you're falling behind, make sure to communicate with your instructor.
To get started, you'll be learning the fundamentals of Rails and how to organize your backend code to build out features quickly. You'll also learn some conventions, like REST, that are common in the world of API development.
Total Assignments: (23)
- Phase 4 Overview (1)
- Rails Fundamentals (19)
- ⭐️ Rails Fundamentals Quiz
- CRUD with Rails (19)
- ⭐️ Putting it All Together: Rails CRUD
- Validations (7)
- ⭐️ Validations Quiz
Once you've gained some familiarity with Rails, it's time to start adding some more complexity. You'll learn some best practices for communicating between the frontend and the backend. You'll also learn how to work with more complex domains involving multiple related models, and how to structure the response from the server to make it easier to work with on the frontend.
Total Assignments: (23)
- Client-Server Communication (10)
- ⭐️ Putting it All Together: Client-Server Communication
- Active Record Associations (9)
- ⭐️ Active Record Associations Quiz
- Serialization (6)
- ⭐️ Active Model Serializer Lab
- Applying Your Learning (4)
- ⭐️ Rails Practice Challenge - Gym
The last key concepts from this phase are learning how to authenticate and authorize users in your application, and how to deploy your application for the world to see! You'll learn some more of the core technology that makes the web work, like cookies, and best practices for working with sensitive data like passwords. You'll also learn how hosting services like Render can be used to deploy your application.
Note: If you're moving through this material quickly and want an extra challenge, there are also optional lessons on Redux, which is a state management tool for React. Redux is beneficial for larger applications, so you may want to work on these lessons prior to Phase 5 if you're interested in using Redux in your final project.
Total Assignments: (15)
- Auth (18)
- ⭐️ Putting it All Together: Auth
- Deploying (6)
- ⭐️ Deploying A Rails-React App to Render
It's time for the last project before your capstone! Use this project to solidify your understanding of Rails, and build something you can refer back to when you're working on your final project next phase. This is a good time to make sure you have a solid grasp of what it takes to put together a full-stack application from scratch with a Rails backend and a React frontend, since you'll be using that same stack for your final project.
Details for the project can be found in the Milestones module.