Lesson 1
Welcome to the Full-Stack Web Developer Nanodegree Program
Welcome to the program!
Command line interface basics
Basic SQL
Lesson 1
Welcome to the Full-Stack Web Developer Nanodegree Program
Welcome to the program!
You'll learn the skills needed to traverse the stack and develop an entire database-backed web application. By the end of the course, you'll have the fundamentals you need to start building web applications, including how to do Create, Read, Update, and Delete (CRUD) operations on a database, how to apply these operations across both databases and web applications, how to set up relationships between elements of an application, and ultimately how to think about important principles and patterns in building data models for a web application
Lesson 1
Instructor Interview
Meet your instructor!
Lesson 2
Course Introduction
Understand what this course will cover and the learning objectives achieved.
Lesson 3
Interacting with Databases
Interact with relational databases. Review SQL and the Client-Server Model. Use Postgres, understand DBAPIs, and use psycopg2.
Lesson 4
SQLAlchemy Basics
Learn to use SQLAlchemy and SQLAlchemy ORM to work with a relational database in Python.
Lesson 5
SQLAlchemy ORM in Depth
Get to know Model.query and the SQLAlchemy Object Lifecycle to master how to query for and change records in a database.
Lesson 6
Migrations
Handle changes to your database schema over time using a version control system involving migration files.
Lesson 7
Build a CRUD App with SQLAlchemy - Part 1
Build out the ability to read and create todo items in our To-do app, handling changes from the database to the views.
Lesson 8
Build a CRUD App with SQLAlchemy ORM - Part 2
Finish developing our To-Do app with update and delete functionality. Model relationships with To-Do lists.
Lesson 9 • Project
Project: Fyyur
In this project, you'll demonstrate your new SQL and data modeling skills by creating a site to help coordinate bookings between artists and venues.
In this project, you will use the skills you’ve developed to build a Trivia API. The goal of this project is to use APIs to control and manage a web application using existing data models. You’ll be given a set of data models and the application front end. Your task will be to implement the API in Flask to make the Trivia game functional.
Lesson 1
Introduction to APIs
In this lesson, you'll learn what APIs are, how they're implemented, and why they're important. We'll also dive into the concepts of Internet Protocols and REST.
Lesson 2
HTTP and Flask Basics
In this lesson, you'll learn about HTTP—including methods, requests, responses and status codes— as well as how to set up a Flask app, and implement and test endpoints using Curl.
Lesson 3
Endpoints and Payloads
In this lesson, you'll learn about how Flask is extensible in itself to handle different kinds of methods, more complex endpoints, and to return formatted data to the client.
Lesson 4
API Testing
This lesson teaches students the benefits and purposes of testing an API, Test-Driven Development for APIs and implementing the tests using unittest.
Lesson 5
API Documentation
To round out the course, students will consider and write API documentation and project documentation so their projects can be hosted, shared, and used by other developers with clarity.
Lesson 6 • Project
Project: Trivia API
In this project, you'll use your new API and API documentation skills to build a trivia API.
In this part, you will build the backend for a coffee shop application. You’ll add user accounts and authentication to your application and use role-based access management strategies to control different types of user behavior in the app.
Lesson 1
Foundation
Set the groundwork for understanding information security and refresh your understanding of the technologies used in future lessons.
Lesson 2
Identity and Authentication
Explore frequently used methods of identifying who is making requests on web systems. Implement modern software patterns to accomplish this goal across the stack.
Lesson 3
Passwords
Understand and overcome common pitfalls of the ubiquitous password authentication design pattern.
Lesson 4
Access and Authorization
Limit access to specific resources or actions by restricting requests only to authorized request to particular users and groups of users. Implement role-based access controls (RBAC) across the stack.
Lesson 5
Thinking Adversarially
Stay one step ahead of attackers by implementing a secure development process and knowing how to keep informed on the cutting edge of security research.
Lesson 6 • Project
Project: Coffee Shop Full Stack
In this project, you'll demonstrate your new authentication and authorization skills by creating a full-stack application for a coffee shop menu.
Develop an understanding of containerized environments, use Docker to share and store containers, and deploy a Docker container to AWS Elastic Kubernetes Service using the CI/CD pipeline.
Lesson 1
Introduction
Welcome to the Server Deployment, Containerization, and Testing course!
Lesson 2
Containers
An introduction to containers and Docker. In this lesson, you will install Docker locally, define a container using a Dockerfile, download and launch a Docker container, and store and share it.
Lesson 3
AWS and Kubernetes
Introduce AWS services, create resources with console and CLI, explain container orchestration and Kubernetes, create EKS Cluster with console and Eksctl, and manage Kubernetes with Kubectl.
Lesson 4
Deployment using CI/CD
Deploy app to EKS, create AWS resources with Cloudformation YAML, and set up end-to-end CI/CD pipeline with AWS CodePipeline and CodeBuild.
Lesson 5 • Project
Deploy Your Flask App to Kubernetes Using EKS
In this project, learners will create a container for your Flask web app using Docker and deploy the container to a Kubernetes cluster using Amazon EKS.
You will now combine all of the new skills you’ve learned and developed in this course to construct a database-backed web API with user access control. You will choose what app to build and then you’ll design and build out all of the API endpoints needed for the application and properly secure them for use in any front end application (web or mobile).
Lesson 1
Capstone Prep and Deployment Options
In this lesson you’ll be introduced to the Capstone project. You'll learn how to deploy your API to Heroku and the Render Cloud Platforms.
Lesson 2 • Project
Capstone
Optional Courses
Lesson 1 • Project
Take 30 Min to Improve your LinkedIn
Find your next job or connect with industry peers on LinkedIn. Ensure your profile attracts relevant leads that will grow your professional network.
Lesson 2 • Project
Optimize Your GitHub Profile
Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.