03 - PROJECT START - Initial frontend app Overview/004 Overview of the initial Application version.mp44.46MB
03 - PROJECT START - Initial frontend app Overview/005 How to create new React Application.mp427.6MB
03 - PROJECT START - Initial frontend app Overview/006 Installing Node along with NPM and NPX.mp410.57MB
04 - Creating React application and how React works/001 BEGIN - Creating React Application using create-react-app.mp423.82MB
04 - Creating React application and how React works/002 Starting React Application.mp446MB
04 - Creating React application and how React works/003 Structure of the Frontend app.mp463.47MB
04 - Creating React application and how React works/004 Reinstalling npm dependencies.mp425.14MB
04 - Creating React application and how React works/005 Creating and serving optimized build of the Frontend app.mp447.41MB
04 - Creating React application and how React works/006 Basic Frontend Application Implementation Steps.mp413.4MB
04 - Creating React application and how React works/007 Cleaning up default React application.mp417.33MB
04 - Creating React application and how React works/008 How React works and what is JSX.mp451.93MB
04 - Creating React application and how React works/009 React Functional Components.mp421.28MB
05 - Initializing Git and creating remote GitHub repository/001 Installing and Configuring Git.mp458.89MB
05 - Initializing Git and creating remote GitHub repository/002 END - Creating first commit.mp421.78MB
05 - Initializing Git and creating remote GitHub repository/003 BEGIN and END - Adding eslintcache file to the gitignore.mp415.48MB
05 - Initializing Git and creating remote GitHub repository/004 Publishing repository to the GitHub.mp453.74MB
06 - React props and creation of the Header and Search components/001 BEGIN and END - Changing Favicon.mp468.17MB
06 - React props and creation of the Header and Search components/002 BEGIN - Creating Header component.mp443.92MB
06 - React props and creation of the Header and Search components/003 END - What are React props.mp418.22MB
06 - React props and creation of the Header and Search components/004 BEGIN - Plan for creation of the Search component.mp48.14MB
06 - React props and creation of the Header and Search components/005 Creating Search component with input form.mp431.16MB
06 - React props and creation of the Header and Search components/006 Styling Search component.mp430.6MB
06 - React props and creation of the Header and Search components/007 Submission of the search form.mp423.02MB
06 - React props and creation of the Header and Search components/008 Controlled Search component.mp463.79MB
06 - React props and creation of the Header and Search components/009 END - Search Component Summary.mp412.15MB
06 - React props and creation of the Header and Search components/010 Disabling GitLens blame annotations feature.mp410.83MB
07 - Making Unsplash API requests/001 BEGIN - Creating account at Unsplash and registering new App.mp426.59MB
07 - Making Unsplash API requests/002 Adding local file with Environment Variables.mp461.83MB
07 - Making Unsplash API requests/003 How to make Unsplash API request and what is URL.mp421.18MB
07 - Making Unsplash API requests/004 END - Making first API request for random photo.mp476.58MB
07 - Making Unsplash API requests/005 Analyzing API requests and responses.mp462.07MB
07 - Making Unsplash API requests/006 BEGIN - CHALLENGE - Clear search input.mp42.62MB
07 - Making Unsplash API requests/007 END - CHALLENGE SOLUTION - Clear search input.mp413.15MB
08 - Configuring ESLint and Prettier in the frontend app/001 BEGIN - What is code formatter.mp424.56MB
08 - Configuring ESLint and Prettier in the frontend app/002 What is linter.mp439.81MB
08 - Configuring ESLint and Prettier in the frontend app/003 Configure ESLint validation.mp429.6MB
08 - Configuring ESLint and Prettier in the frontend app/004 Installing and enabling Prettier ESLint Plugin.mp420.81MB
08 - Configuring ESLint and Prettier in the frontend app/005 Adjusting Prettier configuration.mp422.56MB
08 - Configuring ESLint and Prettier in the frontend app/006 Enabling ESLint errors fixing on File Save.mp421.63MB
08 - Configuring ESLint and Prettier in the frontend app/007 END - Adding NPM linting scripts.mp422.3MB
08 - Configuring ESLint and Prettier in the frontend app/008 BEGIN and END - Fixing all linting errors.mp437.48MB
08 - Configuring ESLint and Prettier in the frontend app/009 BEGIN and END - Changing editor tabSize in VS Code.mp45.12MB
08 - Configuring ESLint and Prettier in the frontend app/010 ESLint with Prettier setup Summary.mp416.64MB
09 - Saving images in the state and deleting them in the UI/001 BEGIN - Planning next steps in building frontend app.mp414.35MB
09 - Saving images in the state and deleting them in the UI/002 Saving images in the state.mp453.51MB
09 - Saving images in the state and deleting them in the UI/003 END - State in React is updated asynchronously.mp432.61MB
09 - Saving images in the state and deleting them in the UI/004 BEGIN - Adding React Developer Tools Chrome extension.mp416.13MB
09 - Saving images in the state and deleting them in the UI/005 Creating ImageCard component.mp457.03MB
09 - Saving images in the state and deleting them in the UI/006 Adding props to the ImageCard component.mp487.51MB
09 - Saving images in the state and deleting them in the UI/007 Displaying all images in the UI using map method.mp455.08MB
09 - Saving images in the state and deleting them in the UI/008 Adjust layout of the image cards.mp459.82MB
09 - Saving images in the state and deleting them in the UI/009 END - Adding delete images functionality.mp472.04MB
10 - Adding SVG logo and Welcome component/001 BEGIN - Creating SVG logo from text.mp474.11MB
10 - Adding SVG logo and Welcome component/002 END - Editing SVG logo.mp436.27MB
10 - Adding SVG logo and Welcome component/003 BEGIN and END - Adding Welcome component.mp461.84MB
10 - Adding SVG logo and Welcome component/004 Basic frontend app Summary.mp49.15MB
10 - Adding SVG logo and Welcome component/005 Basic frontend app codebase review.mp450.75MB
10 - Adding SVG logo and Welcome component/006 BEGIN and END - Updating create-react-app application.mp460.43MB
11 - REST API and HTTP Methods/001 Which problems API does solve.mp414.4MB
11 - REST API and HTTP Methods/002 Client-server communication.mp410.31MB
11 - REST API and HTTP Methods/003 REST API.mp45.29MB
11 - REST API and HTTP Methods/004 URL is unique resource identifier.mp47.18MB
11 - REST API and HTTP Methods/005 Requests and Responses.mp48.19MB
11 - REST API and HTTP Methods/006 Analyzing requests and responses in our Frontend app.mp437.38MB
11 - REST API and HTTP Methods/007 HTTP Methods Overview.mp418.89MB
11 - REST API and HTTP Methods/008 CRUD Operations.mp46.17MB
11 - REST API and HTTP Methods/009 Idempotent HTTP Methods.mp426.52MB
11 - REST API and HTTP Methods/010 HTTP Response Status Codes.mp47.16MB
11 - REST API and HTTP Methods/011 Most common Success and Redirect HTTP status codes.mp419.99MB
11 - REST API and HTTP Methods/012 Most common Client and Server Error status codes.mp437.68MB
11 - REST API and HTTP Methods/013 REST API and HTTP methods Summary.mp416.22MB
12 - API Service Overview and Python installation/001 Frontend and API services Overview.mp43.16MB
12 - API Service Overview and Python installation/002 Installing Python, Pip and Pipenv on MacOS.mp492.72MB
12 - API Service Overview and Python installation/003 Installing Python, Pip and Pipenv on Windows.mp474.13MB
12 - API Service Overview and Python installation/004 Python Flask API Implementation Steps.mp49.5MB
13 - Creating Python Virtual Environment for api application using pipenv/001 BEGIN - Creating api folder and running basic Python app.mp48.92MB
13 - Creating Python Virtual Environment for api application using pipenv/002 Creating Python virtualenv and installing Flask.mp469.99MB
13 - Creating Python Virtual Environment for api application using pipenv/003 END - Exploring Python virtualenv and changing VS Code Python interpreter.mp443.17MB
14 - Creating and starting simple Flask web server/002 BEGIN - Simple Flask application.mp451.44MB
14 - Creating and starting simple Flask web server/003 Imports in Python and __name__.mp424.62MB
14 - Creating and starting simple Flask web server/004 Import from other Python module and __name__.mp417.43MB
14 - Creating and starting simple Flask web server/005 Decorators in Python.mp423.51MB
14 - Creating and starting simple Flask web server/006 END - Starting Flask app inside of the module.mp419.02MB
14 - Creating and starting simple Flask web server/007 Consistent launch of python modules on Mac and Windows.mp417.18MB
15 - Creating new-image Flask API endpoint and testing it using Postman/001 BEGIN - Creating new-image API endpoint.mp448.79MB
15 - Creating new-image Flask API endpoint and testing it using Postman/002 Testing new-image API endpoint using Postman.mp426.76MB
15 - Creating new-image Flask API endpoint and testing it using Postman/003 Making API request to the Unsplash API.mp496.46MB
15 - Creating new-image Flask API endpoint and testing it using Postman/004 Finalize and test API request to the Unsplash API.mp480.11MB
16 - Importing env variables from the file in the Python app/001 Extracting UNSPLASH_KEY to the env file.mp479.64MB
16 - Importing env variables from the file in the Python app/002 END - Verifying usage of the env variables from the file.mp442.91MB
16 - Importing env variables from the file in the Python app/003 BEGIN and END - Enabling Debug mode in the Flask app.mp435.98MB
17 - Configuring frontend app to make new image API requests via Flask API/001 BEGIN - Changing API in the frontend React app.mp422.16MB
17 - Configuring frontend app to make new image API requests via Flask API/002 Trying to test Frontend app with Flask API.mp419.62MB
18 - CORS and enabling CORS in the Flask app/001 What is CORS.mp46.09MB
18 - CORS and enabling CORS in the Flask app/002 Comparing responses from the Flask API and Unsplash API.mp440.02MB
18 - CORS and enabling CORS in the Flask app/003 END - Enabling CORS in the Flask app.mp468.69MB
18 - CORS and enabling CORS in the Flask app/004 BEGIN - Installing and enabling Pylint linter and Black formatter.mp443.73MB
18 - CORS and enabling CORS in the Flask app/005 END - Enabling formatting on save and fixing all mistakes in the Python app.mp415.74MB
18 - CORS and enabling CORS in the Flask app/006 Basic API Summary.mp421.03MB
19 - Database integration plan/001 It is time to save images data to the database.mp47.72MB
19 - Database integration plan/002 Application structure with database.mp44.71MB
19 - Database integration plan/003 Implementation steps for saving images data in the database.mp420.81MB
19 - Database integration plan/004 All API endpoints in the current implementation phase.mp44.3MB
20 - Dockerizing Backend Flask API Service/001 Installing Docker and hello-world using Docker.mp423.19MB
20 - Dockerizing Backend Flask API Service/002 BEGIN - Creating Dockerfile for the Python API service.mp454.49MB
20 - Dockerizing Backend Flask API Service/004 Building Docker image for the API service.mp447.34MB
20 - Dockerizing Backend Flask API Service/005 Running API containers based on the built Docker image.mp437.02MB
20 - Dockerizing Backend Flask API Service/006 Analyzing API Docker container from inside.mp456.35MB
20 - Dockerizing Backend Flask API Service/007 END - Docker image for the API service Summary.mp410.6MB
21 - Dockerizing Frontend React Application/001 BEGIN - Creating Dockerfile for the frontend application.mp422.55MB
21 - Dockerizing Frontend React Application/002 Building Docker image for the frontend app.mp425.24MB
21 - Dockerizing Frontend React Application/003 END - Running Docker container for the frontend service.mp49.89MB
21 - Dockerizing Frontend React Application/005 Why you need to have node_modules folder and python venv folder locally.mp432.56MB
21 - Dockerizing Frontend React Application/006 Running both frontend and api containers in background.mp430.61MB
22 - Docker Compose for the API and Frontend services/001 BEGIN - Creating basic docker-compose file.mp413.36MB
22 - Docker Compose for the API and Frontend services/002 Bringing up both containers using docker-compose.mp450.2MB
22 - Docker Compose for the API and Frontend services/003 END - How to operate containers using docker-compose.mp415MB
22 - Docker Compose for the API and Frontend services/004 BEGIN - Creating volumes mapping for the frontend service.mp431.5MB
22 - Docker Compose for the API and Frontend services/005 Fix volumes sync in the React container.mp420.58MB
22 - Docker Compose for the API and Frontend services/006 Enabling volumes mapping for the api service.mp453.3MB
22 - Docker Compose for the API and Frontend services/007 END - Enabling auto-restart and docker-compose Summary.mp426.97MB
23 - Adding MongoDB to the Docker Compose/001 Why do we need mongo and mongo-express services.mp46.93MB
23 - Adding MongoDB to the Docker Compose/002 Mongo and mongo-express official Docker images Overview.mp433.45MB
23 - Adding MongoDB to the Docker Compose/003 BEGIN - Adding mongo and mongo-express services to the docker-compose file.mp415.71MB
23 - Adding MongoDB to the Docker Compose/004 Starting all services including mongo and mongo-express using docker-compose.mp437.81MB
23 - Adding MongoDB to the Docker Compose/005 Docker Desktop Overview.mp435.29MB
23 - Adding MongoDB to the Docker Compose/006 Using MongoDB shell and mongo-express GUI.mp429.24MB
24 - Persistent volume for MongoDB and Docker networking/001 MongoDB data is now deleted after docker-compose restart.mp420.75MB
24 - Persistent volume for MongoDB and Docker networking/002 Configuring persistent data volume for the mongo container.mp423.21MB
24 - Persistent volume for MongoDB and Docker networking/003 Verifying persistent MongoDB storage using volume.mp427.83MB
24 - Persistent volume for MongoDB and Docker networking/004 END - Mongo and mongo-express setup Summary.mp431.86MB
24 - Persistent volume for MongoDB and Docker networking/005 How docker-compose containers communicate with each other.mp411.77MB
24 - Persistent volume for MongoDB and Docker networking/006 Exploring networking between Docker containers.mp429.01MB
25 - API endpoint for reading and creating images in the database/001 Plan for the integration of the MongoDB and Flask API Service.mp47MB
25 - API endpoint for reading and creating images in the database/002 BEGIN - Installing pymongo.mp430.61MB
25 - API endpoint for reading and creating images in the database/003 Creating instance of the MongoClient.mp427.76MB
25 - API endpoint for reading and creating images in the database/004 Adding insertion of the document to the MongoDB by Python API service.mp439.97MB
25 - API endpoint for reading and creating images in the database/005 Rebuilding api service Docker image.mp432.62MB
25 - API endpoint for reading and creating images in the database/006 END - Pymongo and mongo connectivity testing Summary.mp440.12MB
25 - API endpoint for reading and creating images in the database/007 BEGIN - New API endpoint for reading and creating images in the database.mp43.65MB
25 - API endpoint for reading and creating images in the database/008 Adding images endpoint and handling GET requests.mp4113.06MB
25 - API endpoint for reading and creating images in the database/009 Handling POST requests to the images endpoint.mp419.54MB
25 - API endpoint for reading and creating images in the database/010 Testing GET and POST methods in the images API.mp426.79MB
25 - API endpoint for reading and creating images in the database/011 Fixing errors in the images API.mp495.01MB
25 - API endpoint for reading and creating images in the database/012 END - Finalize with testing of the images API after errors fixing.mp416.36MB
25 - API endpoint for reading and creating images in the database/013 Images API endpoint Summary.mp417.9MB
26 - Saving and reading images from the database in the frontend app/001 Save and get images in the frontend implementation Overview.mp413.81MB
26 - Saving and reading images from the database in the frontend app/002 BEGIN - Installing Axios in the frontend app and rebuilding frontend image.mp421.79MB
26 - Saving and reading images from the database in the frontend app/003 Start of the replacement of the fetch with Axios.mp459.77MB
26 - Saving and reading images from the database in the frontend app/004 END - Continue replacement of the fetch with Axios.mp494.81MB
26 - Saving and reading images from the database in the frontend app/005 BEGIN - Adding some images to the Mongo database using Postman.mp417.13MB
26 - Saving and reading images from the database in the frontend app/006 Retrieving saved images when React app loads.mp486.92MB
26 - Saving and reading images from the database in the frontend app/007 END - Examining how useEffect works.mp417.34MB
26 - Saving and reading images from the database in the frontend app/008 BEGIN and END - Explaining ESLint error and extending ESLint config.mp442.72MB
26 - Saving and reading images from the database in the frontend app/009 BEGIN - Saving images in the database from the frontend app.mp4108.08MB
26 - Saving and reading images from the database in the frontend app/010 END - Hiding Save button for already saved images.mp468.59MB
26 - Saving and reading images from the database in the frontend app/011 Saving images in the database Summary.mp496.59MB
27 - Deleting images and frontend improvements/001 Plan for the improvements section.mp411.74MB
27 - Deleting images and frontend improvements/002 How to handle deletion of the images.mp410.59MB
27 - Deleting images and frontend improvements/003 BEGIN - Delete image API endpoint CHALLENGE.mp413.88MB
27 - Deleting images and frontend improvements/004 Delete image API endpoint SOLUTION.mp477.46MB
27 - Deleting images and frontend improvements/005 END - Error handling for the delete image API endpoint.mp416.55MB
27 - Deleting images and frontend improvements/006 BEGIN - Delete image request in the frontend CHALLENGE.mp43.18MB
27 - Deleting images and frontend improvements/007 END - Delete image request in the frontend SOLUTION.mp442.41MB
27 - Deleting images and frontend improvements/008 BEGIN - Spinner CHALLENGE.mp424.09MB
27 - Deleting images and frontend improvements/009 Spinner SOLUTION.mp469.53MB
27 - Deleting images and frontend improvements/010 END - Finalize with Spinner SOLUTION.mp442.37MB
27 - Deleting images and frontend improvements/011 BEGIN - Image Author Information CHALLENGE.mp428.5MB
27 - Deleting images and frontend improvements/012 END - Image Author Information SOLUTION.mp478.5MB
27 - Deleting images and frontend improvements/013 BEGIN - Toast notifications CHALLENGE.mp435.88MB
27 - Deleting images and frontend improvements/014 Toast notifications SOLUTION.mp4108.78MB
27 - Deleting images and frontend improvements/015 END - Finalize with toast notifications SOLUTION.mp464.96MB