Course introduction
  • Introduction
  • Course structure
  • Technologies
  • Vagrant vs. Docker
  • How to get the most out of this course
  • How to get help
Setting up your development environment
  • Windows: Installing Git, VirtualBox, Vagrant, Atom and ModHeader
  • macOS: Installing Git, VirtualBox, Vagrant, Atom and ModHeader
Setting up your project
  • Creating a workspace
  • Creating a Git project
  • Pushing to GitHub
Creating a development server
  • Creating a Vagrantfile
  • Configuring our Vagrant box
  • Running and connecting to our dev server
  • Running a Hello World script
Creating a Django app
  • Create Python Virtual Environment
  • Install required Python packages
  • Create a new Django project & app
  • Enable our app in the Django settings file
  • Test and commit our changes
Setup the Database
  • What are Django Models?
  • Create our user database model
  • Add a user model manager
  • Set our custom user model
  • Create migrations and sync DB
Setup Django Admin
  • Creating a superuser
  • Enable Django Admin
  • Test Django Admin
Introduction to API Views
  • What is an APIView?
  • Create first APIView
  • Configure view URL
  • Testing our API View
  • Create a Serializer
  • Add POST method to APIView
  • Test POST Function
  • Add PUT, PATCH and DELETE methods
  • Test the PUT, PATCH and DELETE methods
Introduction to Viewsets
  • What is a Viewset?
  • Create a simple Viewset
  • Add URL Router
  • Testing our Viewset
  • Add create, retrieve, update, partial_update and destroy functions
  • Test Viewset
Create Profiles API
  • Plan our Profiles API
  • Create user profile serializer
  • UPDATE: Bug in profile serializer
  • Create profiles ViewSet
  • Register profile Viewset with the URL router
  • Test creating a profile
  • Create permission class
  • Add authentication and permissions to Viewset
  • Test new permissions
  • Add search profiles feature
  • Test searching profiles
Create login API
  • Create login API viewset
  • Test login API
  • Set token header using ModHeader extension
Create profile feed API
  • Plan profile feed API
  • Add new model Item
  • Create and run model migration
  • Add profile feed model to admin
  • Create profile feed item serializer
  • Create ViewSet for our profile feed item
  • Test Feed API
  • Add permissions for feed API
  • Test feed API permissions
  • Restrict viewing status updates to logged in users only
  • Test new private feed
Deploying our API to a server on AWS
  • Introduction to deploying our app to AWS
  • Add key pair to AWS
  • Create EC2 server instance
  • Add deployment script and configs to our project
  • Deploy to server
  • Update allowed hosts and deploy changes
Summary
  • Course outro
  • FAQs