
Explore how web applications work and how Flask enables full-stack Python development in this bootcamp, with crash courses and two real-life projects: a notes app and an e-commerce site.
Ebenezer shares his electrical and electronics engineering background, student honors, five years as a software developer, and experience as a functional safety engineer at Jaguar Land Rover, with contact options.
Access and locate the project source code through the provided links and private repositories, and verify you have access to the codebase.
Participate in the course exercises by studying two projects, copying the source code, and building your own version of the software to include on your CV.
Learn how to ask questions effectively by using the course messaging feature to contact the instructor, or reach them on Twitter or LinkedIn, and receive prompt help with any difficulties.
Understand the course requirements, costs, and beginner-friendly Python development environments for the fullstack Flask and Python bootcamp, and plan a learning path from start to finish or in stand-alone sections.
Explore the course outline, costs, and instructor overview. Review exercises, how to ask questions, and the Python installation requirement.
Explore how web applications work, focusing on data communication, storage, and presentation patterns, and how the browser, web server, templates, and database deliver content.
Explore how web applications communicate through the data communication pattern, mapping the client, network, and server, and using HTTP requests, responses, resources, URLs, and request handlers to render data.
Identify data types, static and dynamic, and explore how databases store and retrieve information using SQL and object-relational mappers.
Explore the data presentation pattern through templates, templating languages, and templating engines, learning how templates render dynamic content with loops and conditionals into browser-ready HTML.
Explore how web applications work by tracing user requests from the browser to the web server, data storage, databases, and the final rendered page.
Learn how flask implements web applications by exploring the mvc pattern, the flux approach, and building with models, templates, and the flux project structure.
Understand the mvc pattern with model, view, and controller, and learn how they interact to manage data, render views, and support test driven development.
Explore flux's lightweight mvc approach, its philosophy, and the flux structure, mapping flux model, view, and template to mvc while noting extensions like flux admin, login, and flux key alchemy.
Create a basic Flask app by setting up and activating a virtual environment, installing Flask, adding a simple hello world snippet, and running the app from the command line.
Explore how the flux model maps to database tables using flux alchemy as an object-relational mapper, and review common field types like integer, string, boolean, time, float, and large binary.
Explore working with data storage in Flask using ORMs like SQLAlchemy and Flask-SQLAlchemy, learn how ORMs simplify complex queries and protect against injection attacks.
Explore how Flask views select data, choose templates, and render responses by mapping requests to view functions via URL patterns and decorators.
Explore working with templates in Flask, focusing on layout and formatting of the view response and how to configure template paths.
Explore working with urls in Flask by mapping urls to views with route decorators, and passing parameters from requests to your view functions.
Learn to structure a Flask project with blueprints for large scale apps, breaking functionality into catalog, shopping cart, and checkout, each with its own views and templates.
Explore the mvc pattern and flux approach for a Flask web app, and build a basic flux application with models and blueprints.
This lecture introduces the section, outlines the lectures, and guides you to set up the project, connect Bitbucket source control, and begin a simple mutiny app using the flux framework.
Set up the notely app project by creating a new flask project, connecting to a big buckets repo, and installing flux alchemy, flux migrate, and flux WTS.
Review the Notley app requirements, including a home page that lists notes. Users can create, edit, and view note details with subject and body fields, and delete notes.
Create a note model for a Flask app using SQLAlchemy, defining id, subject, detail, created, last modified, and a deleted flag, with a constructor and delete method.
Discover how to create database migrations with Flask and SQLAlchemy, syncing models with database tables by generating and applying migration files.
Create and wire Flask views for a notes app, including home, create, detail, edit, and delete views; build and validate forms with WTForms, render templates, and persist changes with SQLAlchemy.
Learn to create and connect templates for a flux application in Flask, including index, create, edit, detail, and add notes templates, using a shared layout and Ginger.
Extend the layout template, render and validate forms with CSRF protection, and implement notes CRUD flows with detail and list views.
Implement validation by choosing between vanilla forms and a backend-driven form package. The lecture demonstrates automatic backend validation with defined fields and built-in rules, including required fields and email validation.
Review the section setup and configuring local projects on your laptop. Create two models, apply database migrations with the CLI, and implement views, templates, and form validation.
History UML crash course and the CML language to build a full stack application, covering document structure, elements, attributes, and the document object model, with the Trimble development setup.
Explore the basic structure of an HTML document, including doctype, head, title, and body; learn four common patterns for organizing content with containers, sections, and fragments.
Explore the history and usage of HTML elements, including inputs, buttons, images, headers, tables, and forms, to build interactive web pages and structure content effectively.
Learn the structure of an html element, including opening and closing tags, content, and attributes, and identify self-closing elements like img and input.
Learn to define and declare HTML attributes, including id, class, style, and boolean attributes, and use custom data attributes to control element behavior and styling.
Define and test an element's content by identifying the parent and children elements and recognizing that content lies between the opening and closing tags, including text or nested elements.
Discover how HTML void elements, such as input, image, meta, link, and hr, do not accept content and are self-closing, with proper declaration and attributes.
Learn how to structure an HTML email document, include inline CSS and JavaScript, link external stylesheets and scripts, and follow practical development guidance.
Explore the document object model and its object-oriented structure, and learn to read and write DOM properties, access elements with getElementById and getElementsByClassName, and modify styles with JavaScript.
Recap the basic HTML document structure, including opening and closing tags and void elements, and introduce the document object model and DOM manipulation with JavaScript.
Explore CSS basic concepts: syntax, selectors, declarations, blocks, and the box model, plus text properties and the flex box layout for styling and aligning content.
Learn how to apply inline styles in HTML with the style attribute, when to use or avoid them, and why moving styles to a separate stylesheet is best practice.
Explore embedded style in HTML by using the style element in the head, learn its syntax and when to use or avoid embedded style for single vs multiple documents.
Create an external css stylesheet with a .css extension, then link it in the html header using a link tag and a relative path to apply styles.
Explore CSS selectors and learn how to identify and style elements using ID, class, type, and attribute selectors, plus child and descendant selectors, with practical examples.
Explore how the CSS cascade governs style values across inline, embedded, and user styles, and learn to override order with important and specificity calculations for predictable front-end styling.
Explore CSS units, distinguishing absolute units like cm, mm, and px from relative units such as em, rem, and percent. Learn when to use each for responsive, scalable web layouts.
Learn how to use CSS shorthand properties to compact code and declare custom properties with custom values, then apply them via the var function, understanding global and block scope.
Explore CSS fundamentals, including cascade, specificity, inline/embedded/external styles, and units, and learn to use shorthand and CSS custom properties for responsive, maintainable styling.
Explore a crash course on front-end styling with Sass, from basics to advanced concepts. Learn to use variables, operators, flow control, functions, and extend directives.
Discover the basics of sass, its inheritance and conditional capabilities, and how to structure large-scale sass projects for efficient compilation to css.
Explore the basic sass syntax and the two file types, scss syntax and indented syntax, and learn their compatibility and how to apply them in real-world projects.
Master how to declare and assign variables in SAS, work with global and local scope, and use default variables and bad apples across your code.
Explore SAS operators, learn how they perform operations on variables and return results, and study arithmetic, comparison, and logical operators, including plus, minus, multiply, divide, modulo, and not, and, or.
Explore how SAS flow controls enable decision making in SAS code, covering if, each, for, and while, and learn practical usage for front-end developers.
Explore what SAS functions are, including custom versus built-in types, and learn how to define and call functions with parameters. See examples of color-manipulation functions like lighten, darken, and mix.
Split large SAS projects into underscore-starting partials and import them into a main SAS file to assemble a modular, maintainable codebase that compiles to CSX.
Learn how mixins in Sass create reusable code blocks you can pass parameters like color and height. Apply these mixins with include directives to keep CSS consistent across files.
Learn to use the extend directive to share common style object properties, and define style objects with selectors and declaration blocks, illustrated by notification, critical, and failure examples.
Explore SAS output style and learn how to control SAS output formats via command line flags, selecting nested, compact, compressed, or expanded output types for CSF/CSX generation.
Learn how the block element modifier (bem) naming convention structures CSS in large front-end projects, using block, element, and modifier to keep code consistent and maintainable.
Recap sas basics, syntax, variables, operators, and flow controls, then cover functions, partials, and mixes, plus standard directives and the block element modifier.
Explore javascript basics for the browser, front-end interactivity, maps, and animations, and learn statements, variables, data types, functions, arrays, objects, and promises for projects.
Explore how JavaScript expressions return values and how statements execute code, including arithmetic, string, logical, and assignment expressions, plus declaration, comment, conditional, iteration, and function statements.
Learn how to declare and assign JavaScript variables, explore variable scope, and distinguish global and local variables through practical examples.
Explore core JavaScript data types, distinguish primitive and non-primitive values from objects, and learn how numbers, booleans, null, undefined, and object properties and methods interact.
JavaScript operators, including arithmetic, assignment, comparison, logical, and conditional operators, with examples and a live interactive environment.
Explore how to declare and call JavaScript functions, understand parameters and the function body, and relate code structure to building a house.
Explore how to define and use JavaScript objects by modeling real-life assets like a football, detailing properties and methods, and creating objects via literals or constructors.
Explore how JavaScript arrays store multiple values, declare and initialize them, and access elements by zero-based indices. Learn key methods like push, pop, join, splice, filter, every, and forEach.
Explore how JavaScript promises model future events, create and consume promises, and handle fulfilled, rejected, and pending states with then and catch for robust async code.
Learn how to define and export JavaScript modules, and import them across files to build maintainable, scalable applications. Discover how modular design breaks code into reusable parts for easy collaboration.
Explore core JavaScript concepts from statements and expressions to variables and data types and operators. Delve into objects and arrays, learn about properties and methods, and understand modules and promises.
Set up a Python environment and explore variables, data types, operators, loops, dictionaries, and object oriented programming for project-based learning.
Install Python and set up your development environment, including environment variables, to run programs from the command line and in Visual Studio projects.
Learn how to declare and assign variables, understand their role as containers, and distinguish global versus local scope to control accessibility across patterns and functions.
Explore Python's number data types, including integers, long, floats, and complex numbers, and practice arithmetic operations, built-in functions like max, min, pow, and floor, using the math module.
Explore working with strings in Python, covering concatenation, repetition, and slicing, then apply string methods such as upper, lower, capitalize, casefold, count, and find.
Explore boolean values in Python, including true and false and their truth values, how comparison operators produce booleans, and how to combine results with and, or, and not in practice.
Explore how to create and manipulate lists, including indexing from zero, changing values by index, checking length with len, looping to print items, and using append and remove.
Learn how to create and work with tuples in Python, including indexing from zero, length, and iteration, while understanding their immutability and how to replace items by rebuilding tuples.
Explore the dictionary data type in Python, creating dictionaries of key-value pairs, accessing and updating values, adding and removing items with pop, and iterating over keys.
Explore Python's arithmetic, assignment, comparison, and logical operators through practical examples that show how variables are updated and evaluated in expressions.
Learn how to declare and call Python functions using def, parameters, and arguments, including indentation, and build a simple add two numbers function that prints the result.
Learn counting and looping in Python, including for and while loops, nested loops, and loop controls such as break, continue, and pass, with practical examples using lists, dictionaries, and strings.
Explore how to make decisions in code using if statements, else branches, and nested ifs. Understand how a condition chooses between two blocks of code and how to print results.
Explore what regular expressions are and why we need them, then use the Python re module to define patterns, test strings, and perform pattern matching with special characters.
Learn how to use regular expressions to search for patterns in a test string with the re module, returning a match object or none, using flags to modify the search.
Learn how inheritance and polymorphism work in Python, with superclass and subclass relationships, shared and unique properties, and practical examples like dog objects and car classes; cover constructors and instantiation.
Explore object-oriented programming in Python by building classes, properties, and methods, demonstrating initialization and inheritance through practical examples like dog and employee classes.
Open files in Python to read or write using modes like r, w, a and text vs binary; then read, write, or append and finally close the file.
Explore two main input methods in Python—keyboard prompts via input and file data—and learn to display results with the print function for console and web applications.
Define and organize Python code with modules (Python files), import them to access functions and classes, and use global variables to keep large projects maintainable.
Define and import Python packages, organize modules into functional packages using dot notation, understand package initialization, and call functions across modules with practical transport mode examples.
Learn to handle errors in Python by wrapping risky code in try blocks, catching exceptions, and using finally and custom exceptions for graceful degradation.
Learn Python coding style, including naming conventions for classes, functions, variables, and constants in all caps, proper whitespace and indentation, comments and docstrings, and layout per the official style guide.
Review core python fundamentals, from environment setup to variables, data types, operators, booleans, lists and tuples, dictionaries, functions, loops, conditionals, pattern matching, and basics of file handling.
Understand how building materials businesses operate and how to translate client problems into design criteria for a high-level software solution in an e-commerce context.
Navigate the building materials business with B2C and B2B models, brick-and-mortar and online stores, and core software needs like inventory, accounting, logistics, and customer service.
Define the problem faced by Building Materials Inc., a brick-and-mortar supplier moving to online sales, by outlining manual processes, competitive pressure, and data risks to justify software.
Specify design criteria for an ecommerce application, focusing on scalability, maintainability, reliability and availability, and a self-contained solution that combines customer and admin functions.
Develop a self-contained software solution using flux and lux to deliver features like product catalogue, shopping cart, checkout, order management, and authentication, organized into separate flux blueprints.
Analyze the building materials business, define the problem, specify design criteria, and create a high-level software solution for an application as part of the fullstack Flask and Python bootcamp.
This is a no holds barred, action packed, Full Stack Flask Web Development Course. To demonstrate My Confidence About This Course, I have created a CV that contains all the Concepts that I covered, and the Projects I have executed in this course. You can Take This Course and Start Looking for Job Immediately using the CV I have prepared.
Your prospective employer wants you to come onboard and start building applications for them straight away. That is what I did in this course. To provide the knowledge that will allow you go straight into the industry and start working immediately. With over 160 Lectures that covers Five Crash Courses, and Two Solid Real-World Projects, I did not leave any stone unturned!!
Basically, the whole course can be grouped into Three Main Themes:
Introduction to web Applications
Where I introduced how web applications work and how Flask implements web applications
The Crash Courses
Where I provided short but comprehensive mini courses on HTML, CSS, SASS, JavaScript and Python
Since, the course is a Full Stack (Front End and Back End) development course, the crash courses on HTML, CSS, SASS and JavaScript provide you with the knowledge to work on the Front End, while the Python Crash Course provides you with the knowledge Back End Language
The Real World Projects
Where I built Two SOLID Real-World Projects. The type of Projects that you will be working on when you get into the industry.