Python Full stack Course Content
Python Fullstack
1: Introduction to Full-Stack Development
- Overview of Full-Stack Development
- Understanding the role of a full-stack developer
- Introduction to front-end, back-end, and database technologies
- Setting up the development environment: Git, GitHub, IDE (VS Code, PyCharm)
- Introduction to Web Technologies
- Overview of web technologies: HTML, CSS, JavaScript
- Understanding the client-server architecture
- HTTP/S protocol basics, request-response lifecycle
2: Python Fundamentals
- Python Basics
- Variables, data types, and operators
- Control flow: conditionals and loops
- Functions and modules
- Data structures: lists, tuples, dictionaries, sets
- File handling and exception handling
- Advanced Python Concepts
- Object-Oriented Programming (OOP) in Python
- Working with Python’s standard libraries (os, sys, datetime)
- Introduction to virtual environments and package management with
pip
3: Front-End Development
- HTML5
- Structure of an HTML document
- Semantic HTML tags and best practices
- Forms and validation
- Integrating multimedia (images, videos, audio)
- CSS3
- CSS syntax, selectors, and properties
- Box model, flexbox, and grid layout
- Responsive design with media queries
- CSS preprocessors: SASS/LESS (optional)
- JavaScript
- JavaScript syntax and data types
- DOM manipulation and event handling
- Introduction to ES6+ features (arrow functions, promises, async/await)
- Working with APIs using
fetch
andaxios
4: Front-End Frameworks
- Introduction to Front-End Frameworks
- Understanding the need for frameworks
- Overview of popular frameworks: React, Angular, Vue.js
- React.js (or alternative framework)
- Setting up a React project using Create React App
- Understanding components, props, and state
- Handling forms and user inputs
- React Router for navigation
- State management with Redux (optional)
- Integrating with RESTful APIs
5: Back-End Development with Python
- Introduction to Back-End Development
- Understanding the role of the back-end in web applications
- Introduction to server-side programming with Python
- Flask Web Framework
- Setting up a Flask project
- Flask routing and views
- Handling forms and user inputs with Flask
- Template rendering with Jinja2
- Serving static files (CSS, JavaScript, images)
- Flask extensions for added functionality (Flask-WTF, Flask-Login)
- Django Web Framework (optional alternative to Flask)
- Setting up a Django project
- Django models, views, and templates (MVT architecture)
- Working with Django’s ORM for database operations
- Implementing user authentication and authorization
6: Databases
- Introduction to Databases
- Understanding relational vs. non-relational databases
- Overview of SQL and NoSQL databases
- SQL Databases
- Introduction to SQLite/PostgreSQL/MySQL
- CRUD operations with SQL
- Database design and normalization
- Using Python’s
sqlite3
orpsycopg2
for database interaction
- ORM (Object-Relational Mapping)
- Introduction to ORMs: benefits and use cases
- Working with SQLAlchemy (Flask) or Django ORM
- Implementing relationships between models
- Querying the database using ORM
7: RESTful APIs and Web Services
- Understanding REST Architecture
- What is a RESTful API?
- HTTP methods: GET, POST, PUT, DELETE
- Designing RESTful APIs with Flask/Django
- Building APIs with Flask
- Setting up API endpoints
- Handling JSON data and responses
- Implementing CRUD operations in APIs
- API authentication with JWT (JSON Web Tokens)
- Consuming APIs in the Front-End
- Making HTTP requests from front-end applications
- Working with third-party APIs
- Error handling in API requests
8: Authentication and Security
- User Authentication
- Implementing user registration and login functionality
- Securing routes with authentication checks
- Managing sessions and cookies in Flask/Django
- Authorization
- Role-based access control (RBAC)
- Implementing permissions and protected routes
- Web Application Security
- Understanding common web security threats (XSS, CSRF, SQL Injection)
- Implementing security best practices in Flask/Django
- Using HTTPS and secure cookies
9: Testing and Debugging
- Introduction to Testing
- Importance of testing in web development
- Types of testing: unit testing, integration testing, E2E testing
- Testing in Python
- Writing unit tests with
unittest
orpytest
- Testing Flask/Django applications
- Using
Postman
orInsomnia
for API testing
- Writing unit tests with
- Debugging Techniques
- Debugging Python applications using
pdb
- Debugging front-end code using browser developer tools
- Logging and monitoring in web applications
- Debugging Python applications using
10: Deployment and DevOps
- Introduction to Deployment
- Preparing a Python web application for deployment
- Choosing a deployment platform: Heroku, AWS, DigitalOcean
- Deploying Flask/Django Applications
- Setting up a production server
- Configuring environment variables
- Using Gunicorn and Nginx for serving applications
- Containerization with Docker
- Introduction to Docker and containerization
- Dockerizing a Python web application
- Using Docker Compose for multi-container applications
- CI/CD Pipelines
- Introduction to Continuous Integration/Continuous Deployment
- Setting up automated tests and deployment pipelines
- Monitoring and scaling applications in production
11: Real-Time Web Applications (Optional)
- Introduction to Real-Time Web Apps
- Understanding WebSockets and real-time communication
- Use cases for real-time features (chat, notifications, live updates)
- Implementing Real-Time Features
- Using Flask-SocketIO for real-time communication
- Integrating real-time features in front-end with JavaScript
- Building a real-time chat or notification system
Python |
1. Python Basics What is Python Why Python? History of python Applications of Python Features of Python Advantages of Python Versions of Python Installation of Python Flavors of Python Comparision b/w various programming languages C, Java and Python 2. Python Operations Python Modes of Execution Interactive mode of Execution Batch mode of Execution Python Editors and IDEs Python Data Types Python Constants Python Variables Comments in python Output Print(),function Input() Function :Accepting input Type Conversion Type(),Id() Functions Comments in Python Escape Sequences in Python Strings in Python String indices and slicing 3. Operators in Python Arithmetic Operators Comparision Operators Logical Operators Assignment Operators Short Hand Assignment Operators Bitwise Operators Membership Operators Identity Operators 4. Python IDE’s Pycharm IDE Installation Working with Pycharm Pycharm components Installing Anaconda What is Conda? Anaconda Prompt Anaconda Navigator Jupyter Notebook Jupyter Features Spyder IDE Spyder Featueres Conda and PIP 5. Flow Control statements Block/clause Indentation in Python Conditional Statements if stmt if…else statement if…elif…statement 6. Looping Statements while loop, while … else, for loop Range() in for loop Nested for loop Break statememt Continue statement Pass statement 7. Strings in Python Creating Strings String indexing String slicing String Concatenation String Comparision String splitting and joining Finding Sub Strings String Case Change Split strings String methods 8. Collections in Python Introduction Lists Tuples Sets Dictionaries Operations on collections Functions for collections Methods of collection Nested collections Differences b/w list tuple and set and Dictionary 9. Python Lists List properties List Creation List indexing and slicing List Operations List addresses List functions Different ways of creating lists Nested Lists List modification List insertion and deletion List Methods 10. Python Tuples Tuple properties Tuple Creation Tuple indexing and slicing Different ways of creating tuples Tuple Operations Tuple Addresses Tuple Functions Nested Tuples Tuple Methods Differences b/w List and Tuple 11. Python Sets Set properties Set Creation Set Operations Set Functions Set Addresses Set Mathematical Operations Set Methods Insertion and Deletion operation 12. Python Dictionary Dictionary properties Dictionary Creation Dictionary Operations Dictionary Addresses Nested Dictionaries Dictionary Methods Insertion and Deletion of elements Differences b/w list tuple and set and Dictionary 13. Functions in Python Defining a function Calling a function Properties of Function Examples of Functions Categories of Functions Argument types default arguments non-default arguments keyword arguments non keyword arguments Variable Length Arguments Variables scope Call by value and Call by Reference Passing collections to function Local and Global variables Recursive Function Boolean Function Passing functions to function Anonymous or Lamda function Filter() and map() functions Reduce Function 14. Modules in Python What is a module? Different types of module Creating user defined module Setting path The import statement Normal Import From … Import Module Aliases Reloading a module Dir function Working with Standard modules -Math, Random, Date time and os modules, 15. Packages Introduction to packages Defining packages Importing from packages –init–.py file Defining sub packages Importing from sub packages 16. Errors and Exception Handling Types of errors Compile-Time Errors Run-Time Errors What is Exception? Need of Exception handling Predefined Exceptions Try,Except, finally blocks Nested blocks Handling Multiple Exceptions User defined Exceptions Raise statement 17. File Handling Introduction Types of Files in Python Opening a file Closing a file Writing data to files Tell( ) and seek( ) methods Reading a data from files Appending data to files With open stmt Various functions |
Advanced Python |
18. OOPs Concepts OOPS Features Encapsulation Abstraction Class Object Static and non static variables Defining methods Diff b/w functions & methods Constructors Parameterized Constructors Built –in attributes Object Reference count Destructor Garbage Collection Inheritance Types of Inheritances Object class Polymorphism Over riding Super() statement 19. Regular Expressions What is regular expression? Special characters Forming regular expression Compiling regular expressions Grouping Findall() function Finditer() function Sub() function Match() function Search() function Matching vs searching Splitting a string Replacing text validations 20. Database Access Introduction Installing mysql database Creating database users, Installing Oracle Python modules Establishing connection with mysql Closing database connections Connection object Cursor object Executing SQL queries Retrieving data from Database. Using bind variables executing SQL queries Transaction Management Handling errors 21. Python Date and Time How to Use Date &DateTime Class Time and date Objects Calendar in Python The Time Module Python Calendar Module 22. Operating System Module Introduction getcwd listdir chdir mkdir rename file/dir remove file/dir rmtree() Os help Os operations |
DJANGO |
1. INTRODUCTION What is Django? Why Django? Key Advantages History of Django Features of Django Characteristics of Django Companies Using Django Difference b/w MVC and MVT Models Views and Templates 2. WEB FRAMEWORKS What is a Web Framework? What is a server? HTTP Requests and HTTP Responses What is a web framework ? What is a web application? Steps in Developing web application. 3. DJANGO INSTALLATION Django Architecture Django Installation Virtual Environment Working with Pycharm Working with ATOM Developing First Django Application 4. DJANGO PROJECT ARCHITECTURE Exploring manage.py, Exploring urls.py Exploring settings.py, Exploring admin.py, Exploring models.py, Exploring views.py, Application creations and Examples 5. DJANGO APPLICATION CREATION steps in Application creation Working with views Working with HTML and CSS Working with Bootstrap Django Application creation in Atom Django Application creation in Pycharm project with multiple Applications Reusing a Application in different projects working with staticfiles 6. DJANGO VIEWS Requesting a web page via URL Rendering web page via view function Render HttpResponse to templates Application with multiple views Understanding context object and dictionary type GET and POST methods 7. DJANGO TEMPLATES Template tags Template Filters Template API Passing Dynamic content to template file Passing multiple dict values to template Loading static files Adding image file to template Advanced Templates Template library custom template filter custom templates tags Registering the tags 8. DJANGO ADMIN Activating the Admin interface Creating super user for Admin site Using the Admin site How to use the Admin site 9. DJANGO MODELS W orking with models and databases Defining Models Model Fields Defining forms ModelForms makemigrations and migrate Registering models in settings.py Registering models with Admin site Connecting with sqlite3 Connecting with MySQL Connecting with Oracle 10. ADVANCED CONCEPTS Django ORM Faker Module Class based views Form validation Rendering forms crispy forms MultiselectField Embeded Video Uploading and downloading Files Working with Audio and video Integrating with legacy databases and applications Sessions users Registrations Security Django Deployment Other Contributed Frameworks |