Description
In this course, you will learn :
- How to build the most critical component of any user application.
- How to use some of today's most popular full stack technologies with confidence.
- How to build a local development server from the ground up.
- How to start a new Django project with a sqlite database.
- How to create a browsable, self-documenting REST API.
- Use your own REST API to handle user registration, login, and status updates in your app.
Syllbaus :
1. Setting up your development environment
- Windows: Installing Git, VirtualBox, Vagrant, Atom and ModHeader
- macOS: Installing Git, VirtualBox, Vagrant, Atom and ModHeader
2. Setting up your project
- Creating a workspace
- Creating a Git project
- Pushing to GitHub
3. Creating a development server
- Creating a Vagrantfile
- Configuring our Vagrant box
- Running and connecting to our dev server
- Running a Hello World script
4. 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
5. 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
6. Setup Django Admin
- Creating a superuser
- Enable Django Admin
- Test Django Admin
7. 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
8. 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
9. 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
10. Create login API
- Create login API viewset
- Test login API
- Set token header using ModHeader extension
11. 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
12. Deploying our API to a server on 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