[Go to site: main page, start]

100% found this document useful (1 vote)
50 views27 pages

Full-Stack Python & Django Course

This document outlines a comprehensive 6-month online course on Full-Stack Development with Python and Django, consisting of 72 lectures focused on both frontend and backend technologies. The curriculum includes HTML, CSS, JavaScript, React, and Django, with practical projects and community support. No prior coding experience is required, and the course is designed to equip learners with the skills to build modern web applications.

Uploaded by

Farman Ullah
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
50 views27 pages

Full-Stack Python & Django Course

This document outlines a comprehensive 6-month online course on Full-Stack Development with Python and Django, consisting of 72 lectures focused on both frontend and backend technologies. The curriculum includes HTML, CSS, JavaScript, React, and Django, with practical projects and community support. No prior coding experience is required, and the course is designed to equip learners with the skills to build modern web applications.

Uploaded by

Farman Ullah
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

FULL-STACK

DEVELOPMENT WITH PYTHON & DJANGO

DURATION TOTAL LECTURES FRONTEND LECTURES BACKEND LECTURES


6 MONTHS 72 35 35

TIME PER LECTURE DELIVERY MODE


1.5 HOURS ONLINE

BASIC COMPUTER KNOWLEDGE, PASSION FOR LEARNING WEB DEVELOPMENT.


PREREQUISITES NO PRIOR CODING EXPERIENCE NEEDED.
About us
We are a leading online platform providing hands-on, real-world
web development training. Our mission is to empower learners to
build fully functional, scalable, and modern web applications by
covering both frontend and backend development.

Why Us?

Comprehensive Curriculum: Covering all key technologies from


frontend to backend development
Experienced Instructors: Learn from industry experts with years
of real-world experience.
Practical Hands-On Projects: Build real-world applications that
showcase your learning.
Live Sessions & Recorded Access: Learn at your own pace with
the flexibility of live sessions and recorded access.
Community Support: Join a vibrant community of learners and
industry professionals for support and collaboration.
Frontend Development (35 Lectures)
HTML
What is HTML and how it works
Basic structure of an HTML page
Headings, paragraphs, images, links, lists
Forms and input types (text, email, password, checkbox, radio, file)
Semantic elements (header, nav, section, article, aside, footer)
Tables (thead, tbody, tr, th, td, colspan, rowspan)
iFrames for embedding websites and videos
Media tags: <audio>, <video>, <source>, <track>
HTML Entities and Symbols (&nbsp;, &copy;, etc.)
Anchor linking and target attribute (_blank, _self)
HTML Comments and indentation best practices
Input attributes (placeholder, required, readonly, disabled, maxlength)
Form attributes (action, method, autocomplete, novalidate)
Label tag and accessibility in forms
Fieldset and legend for form grouping
HTML5 validation types (email, number, date, range)
Meta tags (viewport, charset, keywords, description)
Linking external files (CSS, JS, favicon)
SEO-friendly HTML structure

CSS
Introduction to CSS and its types (Inline, Internal, External)
How CSS is applied and browser rendering
CSS syntax: Selectors, Properties, Values
Color formats (HEX, RGB, RGBA, HSL)
Fonts and Typography (font-family, font-size, font-weight, line-height)
Box Model: margin, padding, border, content
Width, height, max-width, min-height properties
Backgrounds: colors, images, repeat, position, size
Borders: radius, styles, shadows (box-shadow, text-shadow)
Display types: block, inline, inline-block, none
Flexbox: display: flex, justify-content, align-items, flex-wrap
Grid layout: display: grid, grid-template-columns, gap, alignment
Positioning: static, relative, absolute, fixed, sticky
Z-index and layering elements
Overflow: hidden, scroll, auto
Visibility vs display: none
Cursor styles and pointer interactions
Pseudo-classes: :hover, :focus, :nth-child, :first-child
Pseudo-elements: ::before, ::after, ::placeholder
Transitions: duration, delay, easing
Animations: @keyframes, animation-name, duration, iteration
Transform: rotate, scale, skew, translate
Responsive Design: media queries, breakpoints
Units: px, %, em, rem, vh, vw
CSS Variables (--main-color: #43a447)
Important keyword and specificity
Custom scrollbar styling
Best practices: organized code, DRY principle
Practice Task: Create a responsive landing page layout using CSS

Bootstrap
Introduction to Bootstrap & its advantages
Setup using CDN and Bootstrap Starter Template
File structure and linking custom CSS with Bootstrap

📐 Layout & Grid System


Understanding the 12-column grid system
Containers: .container vs .container-fluid
Rows and columns
Breakpoints: sm, md, lg, xl, xxl
Nesting columns
Gutter spacing and column alignment

🎨 Utility Classes
Margin and padding utilities (.m-2, .p-3, .mt-4)
Color and background utilities (.bg-success, .text-white)
Border, shadow, width, height utilities
Text alignment, display, and visibility classes
Responsive visibility utilities (.d-none, .d-md-block)
Flex utilities: centering, alignment, gaps

🧩 Core Components
Navbar: responsive nav with toggle and branding
Buttons: styles, sizes, icons, states (btn-primary, btn-outline, btn-lg)
Cards: image, body, header, footer integration
Alerts: different contextual alerts with dismissible feature
Badges, Breadcrumbs, List Groups
📝 Forms
Bootstrap form classes: labels, controls, grid layout
Input groups with icons and buttons
Form validation styles
Custom checkboxes, radios, switches
Floating labels, select dropdowns, and textarea styling

🎡 Interactive Components
Carousel: image slider with indicators
Modal: trigger buttons, headers, body, and footer
Toasts and tooltips
Tabs and pills navigation
Offcanvas menu for sidebar navigation

📱 Responsive Design
Media query-based component visibility
Responsive font sizes and spacing
Mobile-first design approach using Bootstrap

Tailwind CSS
Setup and utility-first approach
Customizing spacing, colors, typography
Layout: flexbox, grid, containers
Responsive and hover utilities
Components using Tailwind (card, navbar, modal)
Dark mode and plugins
JavaScript
🧠 Basics
What is JavaScript and how it runs in the browser
Adding JS to HTML (internal vs external script)
Variables (var, let, const) and scoping
Data types: string, number, boolean, null, undefined, object, array
Operators: arithmetic, comparison, logical, assignment

🔄 Control Structures
Conditional statements: if, else, else if, switch
Loops: for, while, do...while
Break and continue

⚙️ Functions & Events


Declaring and calling functions
Function parameters and return values
Arrow functions (ES6)
Event listeners: click, submit, mouseover, keydown, etc.
Event object and event bubbling

📦 Arrays & Objects


Creating arrays and objects
Accessing and updating values
Array methods: push, pop, shift, unshift, splice, slice, map, filter, forEach, reduce
Object methods and property manipulation
Looping through arrays and objects (for, for...of, for...in)

🌐 DOM Manipulation
Selecting elements (getElementById, querySelector, etc.)
Changing content and attributes
Adding/removing classes
Creating, appending, and removing elements
Working with forms and input fields
Event delegation

✅ Form Validation & Error Handling


Validating form fields using JavaScript
Custom error messages
Try-catch for error handling
JavaScript
Preventing form submission using [Link]()

📡 Fetch API & JSON


Introduction to APIs
Making GET and POST requests using fetch()
Understanding and parsing JSON data
Displaying fetched data on the webpage
Handling errors and loading states

🧪 Modern JS (ES6+)
Let vs const vs var
Arrow functions
Template literals
Destructuring (arrays & objects)
Spread and rest operators
Ternary operators
Default parameters
Modules and import/export (brief intro)

React JS
⚛️ Introduction
What is React and why use it?
SPA (Single Page Application) concept
Installing React (using Vite or Create React App)
Folder structure of a React project
Understanding JSX: syntax and rules
Embedding expressions in JSX

🧩 Components & Props


Functional components and their syntax
Props: passing and receiving data between components
Reusability of components
Props drilling (basic intro)
Default props and prop types (with prop-types package)
React JS
📦 State Management
What is state in React?
useState Hook: setting and updating state
Handling multiple states
Conditional state changes
Toggle values, counters, dynamic UI changes

🎯 Event Handling
Handling events: onClick, onChange, onSubmit, etc.
Passing parameters in event handlers
Updating state based on events
Binding event handlers

🔄 Conditional Rendering & Lists


if-else, ternary operator in JSX
Logical AND (&&) rendering
Rendering lists using map()
Using key prop while mapping
List filtering and search rendering

🚦 Routing with React Router DOM


Introduction to react-router-dom
Installing and configuring BrowserRouter, Routes, Route
Navigation using Link and NavLink
Dynamic routing and route parameters (useParams)
Redirecting and 404 pages
Layouts and nested routes (basic intro)

✍️ Forms and Controlled Components


Controlled vs uncontrolled components
Handling form inputs with state
Controlled input fields: text, checkbox, radio
Form submission and validation
Preventing default behavior and error handling
React JS
⏱️ Lifecycle with useEffect
useEffect Hook: what and why?
Running on mount, update, and unmount
Fetching data inside useEffect
useEffect dependency array
Cleanup functions (unmounting)

🧪 Useful Concepts
Component composition
Conditional classes using template literals
Basic styling with CSS Modules or Tailwind (optional)
Using context API (brief intro for state sharing)
Backend Development with Python & Django (35 Lectures)

WEEK 1: PYTHON FUNDAMENTALS FOR BACKEND

LECTURE 1: PYTHON SETUP & ARCHITECTURE

Installing Python & IDEs (VS Code, PyCharm)

Understanding Python interpreter & virtual environments

Python execution model

Writing your first Python script

Python versioning and PEP8

Linting tools (pylint, black)

Intro to venv and pip

LECTURE 2: VARIABLES, DATA TYPES & OPERATORS

Primitive types: int, float, str, bool

Type casting & built-in functions

String methods and formatting

Arithmetic, comparison, logical operators

Membership and identity operators

Working with input/output

Variables naming conventions


WEEK 1: PYTHON FUNDAMENTALS FOR BACKEND

LECTURE 3: CONDITIONS, LOOPS & ERROR HANDLING

if, elif, else conditions

for and while loops

Loop control: break, continue, else

Exception handling with try, except, finally

Raising custom exceptions

Built-in error types

Logging basics

LECTURE 4: FUNCTIONS & MODULES

Defining functions & parameters

Return values & scope

Default & keyword arguments

*args and **kwargs

Creating custom modules

Importing modules (absolute & relative)

Built-in modules (random, os, sys)


WEEK 2: OBJECT-ORIENTED PROGRAMMING IN PYTHON

LECTURE 5: OOP BASICS

Classes & Objects

__init__() constructor

Instance vs class variables

self keyword

Creating multiple objects

Dunder methods

Object lifecycle

LECTURE 6: ADVANCED OOP CONCEPTS

Inheritance & types

Polymorphism and method overriding

Encapsulation & access modifiers

Class methods and static methods

Abstract base classes (ABC)

Using super()

Composition vs Inheritance
WEEK 2: OBJECT-ORIENTED PROGRAMMING IN PYTHON

LECTURE 7: FILE HANDLING & JSON

Opening/closing files

Read/write/append modes

File cursor movement

Handling large files

Working with CSV files

Parsing & dumping JSON

Try/except in file I/O

WEEK 3: DJANGO FRAMEWORK BASICS

LECTURE 8: DJANGO INTRODUCTION & PROJECT SETUP

What is Django & why use it

Django vs Flask

Installing Django

Creating first project

Project structure explained

Starting dev server

Creating a basic view & URL


WEEK 3: DJANGO FRAMEWORK BASICS

LECTURE 9: DJANGO APPS, VIEWS & URLS

Creating Django apps

View functions vs class-based views

URL routing and path(), re_path()

App-specific URLs and namespacing

Returning HTML & JSON responses

Template rendering basics

404 and custom error views

LECTURE 10: TEMPLATES & STATIC FILES

Using Django templates

Template inheritance and blocks

Including static files (CSS/JS)

Linking Bootstrap

Template tags & filters

Using media files

Custom filters (intro)


WEEK 3: DJANGO FRAMEWORK BASICS

LECTURE 11: MODELS & DATABASE MIGRATIONS

Defining models

Field types and options

Relationships (OneToOne, FK, M2M)

Making & applying migrations

Shell commands for testing models

Data insertion from admin

Model Meta class and ordering

LECTURE 12: DJANGO ADMIN & FORMS

Using Django admin

Customizing admin interface

Creating forms from models

Built-in form validations

Rendering forms in templates

Handling POST data

CSRF protection
WEEK 4: AUTHENTICATION & AUTHORIZATION

LECTURE 13: USER AUTH SYSTEM

Creating user login/register forms

Using Django’s auth system

LoginRequiredMixin and decorators

Changing password, logout

User groups & permissions

Customizing User model

Signals (intro)

LECTURE 14: PASSWORD SECURITY & EMAIL AUTH

Hashing & salting with Django

Password reset flow

Sending email via SMTP

Verification email with token

Email templates

Protecting user data

Resend verification logic


WEEK 4: AUTHENTICATION & AUTHORIZATION

LECTURE 15: CLASS-BASED VIEWS (CBV)

CBV vs Function-based views

ListView, DetailView, CreateView, etc.

CRUD operations using CBV

Using mixins

Overriding methods

Context data in CBV

Customizing templates in CBV

WEEK 5: DJANGO REST FRAMEWORK (DRF)

LECTURE 16: REST API BASICS

What is REST?

Installing DRF

Serializers basics

Creating simple API views

APIView and Response

ModelSerializer

Testing APIs with Postman


WEEK 5: DJANGO REST FRAMEWORK (DRF)

LECTURE 17: ADVANCED DRF CONCEPTS

Generic views

ViewSets and Routers

Nested serializers

Custom permissions

Throttling and rate limiting

Pagination

Filtering and search

LECTURE 18: TOKEN & JWT AUTHENTICATION

DRF Token Auth

JWT setup with djangorestframework-simplejwt

Access & refresh tokens

Login, logout, and token refresh endpoints

Protecting routes with JWT

Custom user auth flow

Role-based access
WEEK 6: PRODUCTION ESSENTIALS

LECTURE 19: ENVIRONMENT VARIABLES & SETTINGS

python-decouple usage

Base vs local vs production settings

Using .env file

Debug vs production mode

Secret key protection

Static/media file config

Database config for production

LECTURE 20: DJANGO SIGNALS & CELERY (INTRO)

Signal types & lifecycle

Pre-save & post-save examples

Introduction to Celery

Setting up Celery

Running async tasks

Celery with Redis

Real-world task examples (email, notification)


WEEK 6: PRODUCTION ESSENTIALS

LECTURE 21: FILE UPLOAD & MEDIA HANDLING

Image/file uploads

Handling file paths securely

File size validation

FileField vs ImageField

Using Cloudinary or S3 (intro)

Serving media in production

Cleaning up old files

LECTURE 22: CLEAN CODE, STRUCTURE & REUSABILITY

Best practices for code readability

Django app structure (services/helpers)

Using signals to reduce logic in views

Custom decorators and middleware

Creating reusable apps

Writing DRY templates

Refactoring tips
WEEK 7: TESTING, GIT & DEVOPS

LECTURE 23: TESTING WITH PYTEST/DJANGO

Why testing is important

Unit tests for views/models

Test client for API

Test coverage reports

Setting up Pytest

Writing parameterized tests

Mocking external APIs

LECTURE 24: GIT & GITHUB WORKFLOW

Git basics & commits

Branching strategy

Merge & conflict resolution

Creating .gitignore

Hosting project on GitHub

Writing good commit messages

Pull requests & code reviews


WEEK 7: TESTING, GIT & DEVOPS

LECTURE 25: DOCKER (INTRO FOR DJANGO)

What is Docker?

Creating Dockerfile for Django

Using docker-compose

Managing volumes & networks

Environment variables with Docker

Running Postgres in container

Dockerizing Django + Postgres

LECTURE 26: DEPLOYMENT WITH


RENDER/VERCEL/RAILWAY
Hosting Django on Render or Railway

Setting up Gunicorn & WSGI

Static/media file handling

Using custom domains

Setting up SSL

Configuring environment on dashboard

Debugging deployment issues

Bonus: Useful Tools & Add-ons


WEEK 7: TESTING, GIT & DEVOPS

LECTURE 27: SWAGGER & API DOCS

Adding Swagger/OpenAPI with drf-yasg

Customizing documentation

Protecting API docs

Exporting Postman collection

Adding Redoc

Versioning in docs

Sharing docs with clients

LECTURE 28: EMAIL SYSTEM & CONTACT FORMS

Sending emails with SMTP

HTML email templates

Contact form backend

Handling submissions

Email validation

Auto-responders

Email logs
WEEK 7: TESTING, GIT & DEVOPS

LECTURE 29: DJANGO SIGNALS ADVANCED

Advanced use cases

Connecting to 3rd-party APIs

Logging activities with signals

User profile creation

Notifications

Post-delete signals

Handling edge cases

LECTURE 30: SOCIAL LOGIN WITH GOOGLE

Setting up Google OAuth

Using django-allauth

Login with Google

Linking with custom user model

Securing the login flow

Debugging social auth

Facebook login (optional)


WEEK 7: TESTING, GIT & DEVOPS

LECTURE 31: REAL-TIME DATA WITH DJANGO CHANNELS


(INTRO)
What are websockets?

Installing Django Channels

Asynchronous views

Real-time chat app logic

Integrating with frontend

Authentication over websockets

Basic notification system

LECTURE 32: DEPLOYMENT WITH NGINX + GUNICORN


(ADVANCED)
Intro to Nginx

Setting up Ubuntu server

Installing Gunicorn + Nginx

Serving static/media files

Setting up Supervisor

SSL with Let’s Encrypt

Final server test


WEEK 7: TESTING, GIT & DEVOPS

LECTURE 33: PERFORMANCE & OPTIMIZATION

Caching with Redis

Query optimization with select_related & prefetch_related

Indexing database fields

Load testing APIs

Lazy loading templates

Speed up admin

Database tuning tips

LECTURE 34: FINAL PROJECT (BLOG OR E-COMMERCE API)

Project overview & requirements

Backend routes setup

Authentication flow

CRUD APIs

API testing with Postman

Deployment

Presentation
WEEK 7: TESTING, GIT & DEVOPS

LECTURE 35: FINAL Q/A + CERTIFICATION

Q/A session

Review key concepts

Student presentations

Feedback round

Career roadmap

Portfolio advice

Certificate distribution

You might also like