Git Product home page Git Product logo

phase-4-welcome-to-phase's Introduction

Welcome to Phase 4

Learning Goals

  • Understand how this phase is structured
  • Learn the outcomes of this phase

Intro to Phase 4

Welcome to Phase 4! At this point in the program, you've tackled two programming languages, JavaScript and Ruby, as well as mastering a frontend framework, React. Throughout our journey, we've focused on a specific kind of application architecture: creating a single-page application that consumes JSON data from a Web API.

In this phase, we're going to focus on creating our very own Web API server using an incredibly powerful tool, Ruby on Rails (or, as the cool kids say, just Rails). By building an API to serve JSON data in Rails, you'll have full control over the backend logic: from how requests are handled and how the response is generated, to how your models interact with the database using Active Record. By the end of this phase, you can truly claim your mantle as a full-stack developer!

Phase 4 Structure

This phase is structured to start small, and gradually build in complexity. Each module of content (a section of labs and readmes) ends with a quiz or "putting it all together" lab where you can check your understanding of the material. Here's what each module covers:

Rails Fundamentals

Learn how to use Rails as a backend framework to create a server, and how following conventions helps keep our code organized and efficient. You'll also see the full request-response cycle and how data flows through a Rails application.

CRUD with Rails

Use Rails to build a RESTful API that can perform common CRUD operations with a database, and how to access all the data being sent to our Rails app as well as how to properly format a response with a JSON body and HTTP status codes.

Validations

Validations help keep our database clean, and prevent unwanted data from sneaking in. Learn how to use Active Model to add simple validations to your model, and how to respond to invalid data from users.

Client-Server Communication

As full stack developers, it's always important to consider the frontend and the backend as you're building applications. Get a better understanding of how client-server communication happens via the request-response cycle, and how to debug common errors.

Active Record Associations

Building more complex applications requires a larger domain made up of several related models. Learn how to use Active Record in Rails to create associations between models, and how to follow RESTful conventions with multiple related models.

Serialization

When designing web APIs, one important consideration is how our data is sent back to our users. Learn how to use a serializer to shape how your JSON data is structured in the response.

Auth

Authentication and authorization are two important topics in designing web applications. Learn how to use cookies to help identify users across multiple requests, and authorize users for access to specific actions on the server once they've logged in.

Deploying

So far, we've been building applications locally โ€” but the end goal is to be able to deploy our projects to the web, so that anyone can view them! In this section, we'll discuss what the deployment process looks like and how to deploy a React/Rails API application to a server.

Phase 4 Objectives

By the end of this phase, you should be able to:

  • Create RESTful APIs
  • Validate data
  • Share data between a frontend JavaScript application and a backend API application
  • Build authentication into APIs
  • Deploy backend applications

We've got an exciting time ahead, so let's get started!

phase-4-welcome-to-phase's People

Contributors

ihollander avatar lizbur10 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.