11. PROJECT START - Initial frontend app Overview/3. Overview of the initial Application version.mp49MB
11. PROJECT START - Initial frontend app Overview/4. How to create new React Application.mp437.42MB
11. PROJECT START - Initial frontend app Overview/5. Installing Node along with NPM and NPX.mp419.98MB
12. Creating React application and how React works/1. BEGIN - Creating React Application using create-react-app.mp433.9MB
12. Creating React application and how React works/2. Starting React Application.mp453.77MB
12. Creating React application and how React works/3. Structure of the Frontend app.mp484.67MB
12. Creating React application and how React works/4. Reinstalling npm dependencies.mp434.97MB
12. Creating React application and how React works/5. Creating and serving optimized build of the Frontend app.mp447.41MB
12. Creating React application and how React works/6. Basic Frontend Application Implementation Steps.mp425.82MB
12. Creating React application and how React works/7. Cleaning up default React application.mp432.72MB
12. Creating React application and how React works/8. How React works and what is JSX.mp466.64MB
12. Creating React application and how React works/9. React Functional Components.mp421.28MB
13. Initializing Git and creating remote GitHub repository/1. Installing and Configuring Git.mp467.63MB
13. Initializing Git and creating remote GitHub repository/2. END - Creating first commit.mp439.99MB
13. Initializing Git and creating remote GitHub repository/3. BEGIN and END - Adding eslintcache file to the gitignore.mp431.54MB
13. Initializing Git and creating remote GitHub repository/4. Publishing repository to the GitHub.mp453.74MB
14. React props and creation of the Header and Search components/1. BEGIN and END - Changing Favicon.mp478.17MB
14. React props and creation of the Header and Search components/10. Disabling GitLens blame annotations feature.mp422.71MB
14. React props and creation of the Header and Search components/2. BEGIN - Creating Header component.mp430.38MB
14. React props and creation of the Header and Search components/3. END - What are React props.mp434.34MB
14. React props and creation of the Header and Search components/4. BEGIN - Plan for creation of the Search component.mp415.47MB
14. React props and creation of the Header and Search components/5. Creating Search component with input form.mp459.05MB
14. React props and creation of the Header and Search components/6. Styling Search component.mp467.61MB
14. React props and creation of the Header and Search components/7. Submission of the search form.mp442.44MB
14. React props and creation of the Header and Search components/8. Controlled Search component.mp467.85MB
14. React props and creation of the Header and Search components/9. END - Search Component Summary.mp426.94MB
15. Making Unsplash API requests/1. BEGIN - Creating account at Unsplash and registering new App.mp456.47MB
15. Making Unsplash API requests/2. Adding local file with Environment Variables.mp465.45MB
15. Making Unsplash API requests/3. How to make Unsplash API request and what is URL.mp441.64MB
15. Making Unsplash API requests/4. END - Making first API request for random photo.mp476.59MB
15. Making Unsplash API requests/5. Analyzing API requests and responses.mp464.47MB
15. Making Unsplash API requests/6. BEGIN - CHALLENGE - Clear search input.mp46.6MB
15. Making Unsplash API requests/7. END - CHALLENGE SOLUTION - Clear search input.mp425.99MB
16. Configuring ESLint and Prettier in the frontend app/1. BEGIN - What is code formatter.mp433.06MB
16. Configuring ESLint and Prettier in the frontend app/10. ESLint with Prettier setup Summary.mp431.86MB
16. Configuring ESLint and Prettier in the frontend app/2. What is linter.mp454.97MB
16. Configuring ESLint and Prettier in the frontend app/3. Configure ESLint validation.mp460.64MB
16. Configuring ESLint and Prettier in the frontend app/4. Installing and enabling Prettier ESLint Plugin.mp461.92MB
16. Configuring ESLint and Prettier in the frontend app/5. Adjusting Prettier configuration.mp446.14MB
16. Configuring ESLint and Prettier in the frontend app/6. Enabling ESLint errors fixing on File Save.mp442.64MB
16. Configuring ESLint and Prettier in the frontend app/7. END - Adding NPM linting scripts.mp444.78MB
16. Configuring ESLint and Prettier in the frontend app/8. BEGIN and END - Fixing all linting errors.mp454.08MB
16. Configuring ESLint and Prettier in the frontend app/9. BEGIN and END - Changing editor tabSize in VS Code.mp411.28MB
17. Saving images in the state and deleting them in the UI/1. BEGIN - Planning next steps in building frontend app.mp414.35MB
17. Saving images in the state and deleting them in the UI/2. Saving images in the state.mp457.25MB
17. Saving images in the state and deleting them in the UI/3. END - State in React is updated asynchronously.mp443.14MB
17. Saving images in the state and deleting them in the UI/4. BEGIN - Adding React Developer Tools Chrome extension.mp430.26MB
17. Saving images in the state and deleting them in the UI/5. Creating ImageCard component.mp459.06MB
17. Saving images in the state and deleting them in the UI/6. Adding props to the ImageCard component.mp491.32MB
17. Saving images in the state and deleting them in the UI/7. Displaying all images in the UI using map method.mp457.31MB
17. Saving images in the state and deleting them in the UI/8. Adjust layout of the image cards.mp462.25MB
17. Saving images in the state and deleting them in the UI/9. END - Adding delete images functionality.mp497.29MB
18. Adding SVG logo and Welcome component/1. BEGIN - Creating SVG logo from text.mp484.6MB
18. Adding SVG logo and Welcome component/2. END - Editing SVG logo.mp442.85MB
18. Adding SVG logo and Welcome component/3. BEGIN and END - Adding Welcome component.mp465.23MB
18. Adding SVG logo and Welcome component/4. Basic frontend app Summary.mp419.94MB
18. Adding SVG logo and Welcome component/5. Basic frontend app codebase review.mp4103.44MB
18. Adding SVG logo and Welcome component/6. BEGIN and END - Updating create-react-app application.mp463.47MB
19. REST API and HTTP Methods/1. Which problems API does solve.mp430.83MB
19. REST API and HTTP Methods/10. HTTP Response Status Codes.mp414.15MB
19. REST API and HTTP Methods/11. Most common Success and Redirect HTTP status codes.mp439.23MB
19. REST API and HTTP Methods/12. Most common Client and Server Error status codes.mp443.96MB
19. REST API and HTTP Methods/13. REST API and HTTP methods Summary.mp432.64MB
19. REST API and HTTP Methods/2. Client-server communication.mp420.43MB
19. REST API and HTTP Methods/3. REST API.mp411.44MB
19. REST API and HTTP Methods/4. URL is unique resource identifier.mp415.37MB
19. REST API and HTTP Methods/5. Requests and Responses.mp417.37MB
19. REST API and HTTP Methods/6. Analyzing requests and responses in our Frontend app.mp484.29MB
19. REST API and HTTP Methods/7. HTTP Methods Overview.mp439.04MB
19. REST API and HTTP Methods/8. CRUD Operations.mp412.39MB
19. REST API and HTTP Methods/9. Idempotent HTTP Methods.mp455.65MB
2. Introduction to the Web Development/1. Frontend vs Backend.mp4145.28MB
20. API Service Overview and Python installation/1. Frontend and API services Overview.mp46.77MB
20. API Service Overview and Python installation/2. Installing Python, Pip and Pipenv on MacOS.mp497.26MB
20. API Service Overview and Python installation/3. Installing Python, Pip and Pipenv on Windows.mp476.31MB
20. API Service Overview and Python installation/4. Python Flask API Implementation Steps.mp420.35MB
21. Creating Python Virtual Environment for api application using pipenv/1. BEGIN - Creating api folder and running basic Python app.mp417.92MB
21. Creating Python Virtual Environment for api application using pipenv/2. Creating Python virtualenv and installing Flask.mp474.56MB
21. Creating Python Virtual Environment for api application using pipenv/3. END - Exploring Python virtualenv and changing VS Code Python interpreter.mp418.34MB
22. Creating and starting simple Flask web server/2. BEGIN - Simple Flask application.mp469.79MB
22. Creating and starting simple Flask web server/3. Imports in Python and __name__.mp451.18MB
22. Creating and starting simple Flask web server/4. Import from other Python module and __name__.mp436.33MB
22. Creating and starting simple Flask web server/5. Decorators in Python.mp444.23MB
22. Creating and starting simple Flask web server/6. END - Starting Flask app inside of the module.mp435.46MB
22. Creating and starting simple Flask web server/7. Consistent launch of python modules on Mac and Windows.mp430.99MB
23. Creating new-image Flask API endpoint and testing it using Postman/1. BEGIN - Creating new-image API endpoint.mp464.43MB
23. Creating new-image Flask API endpoint and testing it using Postman/2. Testing new-image API endpoint using Postman.mp449.65MB
23. Creating new-image Flask API endpoint and testing it using Postman/3. Making API request to the Unsplash API.mp4101.08MB
23. Creating new-image Flask API endpoint and testing it using Postman/4. Finalize and test API request to the Unsplash API.mp492.84MB
24. Importing env variables from the file in the Python app/1. Extracting UNSPLASH_KEY to the env file.mp492.16MB
24. Importing env variables from the file in the Python app/2. END - Verifying usage of the env variables from the file.mp449.01MB
24. Importing env variables from the file in the Python app/3. BEGIN and END - Enabling Debug mode in the Flask app.mp450.85MB
25. Configuring frontend app to make new image API requests via Flask API/1. BEGIN - Changing API in the frontend React app.mp442.69MB
25. Configuring frontend app to make new image API requests via Flask API/2. Trying to test Frontend app with Flask API.mp427.56MB
26. CORS and enabling CORS in the Flask app/1. What is CORS.mp412.55MB
26. CORS and enabling CORS in the Flask app/2. Comparing responses from the Flask API and Unsplash API.mp456.61MB
26. CORS and enabling CORS in the Flask app/3. END - Enabling CORS in the Flask app.mp471.11MB
26. CORS and enabling CORS in the Flask app/4. BEGIN - Installing and enabling Pylint linter and Black formatter.mp445.37MB
26. CORS and enabling CORS in the Flask app/5. END - Enabling formatting on save and fixing all mistakes in the Python app.mp445.58MB
26. CORS and enabling CORS in the Flask app/6. Basic API Summary.mp440.54MB
27. Database integration plan/1. It is time to save images data to the database.mp414.77MB
27. Database integration plan/2. Application structure with database.mp49.98MB
27. Database integration plan/3. Implementation steps for saving images data in the database.mp439.92MB
27. Database integration plan/4. All API endpoints in the current implementation phase.mp48.86MB
28. Dockerizing Backend Flask API Service/1. Installing Docker and hello-world using Docker.mp432.84MB
28. Dockerizing Backend Flask API Service/2. BEGIN - Creating Dockerfile for the Python API service.mp4102.01MB
28. Dockerizing Backend Flask API Service/3. Building Docker image for the API service.mp464.51MB
28. Dockerizing Backend Flask API Service/4. Running API containers based on the built Docker image.mp452.83MB
28. Dockerizing Backend Flask API Service/5. Analyzing API Docker container from inside.mp480.63MB
28. Dockerizing Backend Flask API Service/6. END - Docker image for the API service Summary.mp421.63MB
29. Dockerizing Frontend React Application/1. BEGIN - Creating Dockerfile for the frontend application.mp445.09MB
29. Dockerizing Frontend React Application/2. Building Docker image for the frontend app.mp436.2MB
29. Dockerizing Frontend React Application/3. END - Running Docker container for the frontend service.mp419.57MB
29. Dockerizing Frontend React Application/4. Exploring frontend container from inside.mp423.82MB
29. Dockerizing Frontend React Application/5. Why you need to have node_modules folder and python venv folder locally.mp468.02MB
29. Dockerizing Frontend React Application/6. Running both frontend and api containers in background.mp430.61MB
3. SHELL and TERMINAL/1. Shell vs Terminal.mp48.98MB
3. SHELL and TERMINAL/2. Command Line Interface.mp44.81MB
3. SHELL and TERMINAL/3. User and root directories.mp46.72MB
3. SHELL and TERMINAL/4. Current and parent directories.mp43.5MB
3. SHELL and TERMINAL/5. Navigation between directories.mp410.68MB
3. SHELL and TERMINAL/6. Listing files.mp410.18MB
3. SHELL and TERMINAL/7. Creating and removing files and directories.mp48.37MB
3. SHELL and TERMINAL/8. Executable files.mp47MB
3. SHELL and TERMINAL/9. Multiple tabs.mp45.79MB
30. Docker Compose for the API and Frontend services/1. BEGIN - Creating basic docker-compose file.mp424.19MB
30. Docker Compose for the API and Frontend services/2. Bringing up both containers using docker-compose.mp468.92MB
30. Docker Compose for the API and Frontend services/3. END - How to operate containers using docker-compose.mp49.16MB
30. Docker Compose for the API and Frontend services/4. BEGIN - Creating volumes mapping for the frontend service.mp458.94MB
30. Docker Compose for the API and Frontend services/5. Fix volumes sync in the React container.mp423.92MB
30. Docker Compose for the API and Frontend services/6. Enabling volumes mapping for the api service.mp456.31MB
30. Docker Compose for the API and Frontend services/7. END - Enabling auto-restart and docker-compose Summary.mp428.65MB
31. Adding MongoDB to the Docker Compose/1. Why do we need mongo and mongo-express services.mp414.59MB
31. Adding MongoDB to the Docker Compose/2. Mongo and mongo-express official Docker images Overview.mp446.06MB
31. Adding MongoDB to the Docker Compose/3. BEGIN - Adding mongo and mongo-express services to the docker-compose file.mp435.7MB
31. Adding MongoDB to the Docker Compose/4. Starting all services including mongo and mongo-express using docker-compose.mp439.14MB
31. Adding MongoDB to the Docker Compose/5. Docker Desktop Overview.mp448.36MB
31. Adding MongoDB to the Docker Compose/6. Using MongoDB shell and mongo-express GUI.mp440.79MB
32. Persistent volume for MongoDB and Docker networking/1. MongoDB data is now deleted after docker-compose restart.mp429.14MB
32. Persistent volume for MongoDB and Docker networking/2. Configuring persistent data volume for the mongo container.mp444.42MB
32. Persistent volume for MongoDB and Docker networking/3. Verifying persistent MongoDB storage using volume.mp429.04MB
32. Persistent volume for MongoDB and Docker networking/4. END - Mongo and mongo-express setup Summary.mp433.25MB
32. Persistent volume for MongoDB and Docker networking/5. How docker-compose containers communicate with each other.mp421.74MB
32. Persistent volume for MongoDB and Docker networking/6. Exploring networking between Docker containers.mp441.89MB
33. API endpoint for reading and creating images in the database/1. Plan for the integration of the MongoDB and Flask API Service.mp49.84MB
33. API endpoint for reading and creating images in the database/10. Testing GET and POST methods in the images API.mp435.43MB
33. API endpoint for reading and creating images in the database/11. Fixing errors in the images API.mp499.94MB
33. API endpoint for reading and creating images in the database/12. END - Finalize with testing of the images API after errors fixing.mp431.8MB
33. API endpoint for reading and creating images in the database/13. Images API endpoint Summary.mp436.6MB
33. API endpoint for reading and creating images in the database/2. BEGIN - Installing pymongo.mp435.3MB
33. API endpoint for reading and creating images in the database/3. Creating instance of the MongoClient.mp464.27MB
33. API endpoint for reading and creating images in the database/4. Adding insertion of the document to the MongoDB by Python API service.mp441.71MB
33. API endpoint for reading and creating images in the database/5. Rebuilding api service Docker image.mp446.46MB
33. API endpoint for reading and creating images in the database/6. END - Pymongo and mongo connectivity testing Summary.mp441.54MB
33. API endpoint for reading and creating images in the database/7. BEGIN - New API endpoint for reading and creating images in the database.mp47.04MB
33. API endpoint for reading and creating images in the database/8. Adding images endpoint and handling GET requests.mp4117.17MB
33. API endpoint for reading and creating images in the database/9. Handling POST requests to the images endpoint.mp438.35MB
34. Saving and reading images from the database in the frontend app/1. Save and get images in the frontend implementation Overview.mp419.1MB
34. Saving and reading images from the database in the frontend app/10. END - Hiding Save button for already saved images.mp494.14MB
34. Saving and reading images from the database in the frontend app/11. Saving images in the database Summary.mp499.72MB
34. Saving and reading images from the database in the frontend app/2. BEGIN - Installing Axios in the frontend app and rebuilding frontend image.mp470.77MB
34. Saving and reading images from the database in the frontend app/3. Start of the replacement of the fetch with Axios.mp461.85MB
34. Saving and reading images from the database in the frontend app/4. END - Continue replacement of the fetch with Axios.mp498.5MB
34. Saving and reading images from the database in the frontend app/5. BEGIN - Adding some images to the Mongo database using Postman.mp435.04MB
34. Saving and reading images from the database in the frontend app/6. Retrieving saved images when React app loads.mp490.6MB
34. Saving and reading images from the database in the frontend app/7. END - Examining how useEffect works.mp437.42MB
34. Saving and reading images from the database in the frontend app/8. BEGIN and END - Explaining ESLint error and extending ESLint config.mp497.07MB
34. Saving and reading images from the database in the frontend app/9. BEGIN - Saving images in the database from the frontend app.mp4124.46MB
35. Deleting images and frontend improvements/1. Plan for the improvements section.mp424.42MB
35. Deleting images and frontend improvements/10. END - Finalize with Spinner SOLUTION.mp462.23MB
35. Deleting images and frontend improvements/11. BEGIN - Image Author Information CHALLENGE.mp440.33MB
35. Deleting images and frontend improvements/12. END - Image Author Information SOLUTION.mp4111.13MB
35. Deleting images and frontend improvements/13. BEGIN - Toast notifications CHALLENGE.mp453.01MB
35. Deleting images and frontend improvements/14. Toast notifications SOLUTION.mp4112.76MB
35. Deleting images and frontend improvements/15. END - Finalize with toast notifications SOLUTION.mp476.82MB
35. Deleting images and frontend improvements/16. Improvements Challenges section Summary.mp487.49MB
35. Deleting images and frontend improvements/2. How to handle deletion of the images.mp414.79MB
35. Deleting images and frontend improvements/3. BEGIN - Delete image API endpoint CHALLENGE.mp427.79MB
35. Deleting images and frontend improvements/4. Delete image API endpoint SOLUTION.mp481.08MB
35. Deleting images and frontend improvements/5. END - Error handling for the delete image API endpoint.mp432.46MB
35. Deleting images and frontend improvements/6. BEGIN - Delete image request in the frontend CHALLENGE.mp47.64MB
35. Deleting images and frontend improvements/7. END - Delete image request in the frontend SOLUTION.mp457.37MB
35. Deleting images and frontend improvements/8. BEGIN - Spinner CHALLENGE.mp448.27MB
35. Deleting images and frontend improvements/9. Spinner SOLUTION.mp496.27MB
4. VISUAL STUDIO CODE/1. Installing VS Code.mp46.96MB
4. VISUAL STUDIO CODE/10. Integrated Terminal.mp48.9MB
4. VISUAL STUDIO CODE/11. Extensions.mp45.18MB
4. VISUAL STUDIO CODE/12. Modifying User Settings.mp47.31MB
4. VISUAL STUDIO CODE/13. Modifying Workspace Settings.mp47.32MB
4. VISUAL STUDIO CODE/14. Interactive Playground.mp49.65MB
4. VISUAL STUDIO CODE/15. Code Snippets.mp46.34MB
4. VISUAL STUDIO CODE/16. Emmet.mp414.29MB
4. VISUAL STUDIO CODE/17. Shortcuts in the VS Code.mp416.1MB
4. VISUAL STUDIO CODE/18. VS Code Summary.mp43.44MB
4. VISUAL STUDIO CODE/2. Getting familiar with VS Code User Interface.mp47.07MB
4. VISUAL STUDIO CODE/3. Opening existing project in the VS Code.mp46.82MB
4. VISUAL STUDIO CODE/4. Editing files and navigating between files.mp428.45MB
4. VISUAL STUDIO CODE/5. Creating and deleting new files and folders.mp48.24MB
4. VISUAL STUDIO CODE/6. Quick Setup and Themes.mp416.58MB
4. VISUAL STUDIO CODE/7. Changing Icon Theme.mp410.11MB
4. VISUAL STUDIO CODE/8. Programming Languages Support.mp45.81MB
4. VISUAL STUDIO CODE/9. Executing commands in VS Code.mp411.48MB
5. GIT and GITHUB/1. Git and GitHub Overview.mp49.04MB
5. GIT and GITHUB/10. Basic Git Commands.mp412.43MB
5. GIT and GITHUB/11. Checking out commits and branches.mp421.57MB
5. GIT and GITHUB/12. File tracking statuses in Git.mp418.31MB
5. GIT and GITHUB/13. Staging and Committing changes using one command.mp415.02MB
5. GIT and GITHUB/14. Branches and merging of the branches.mp424.25MB
5. GIT and GITHUB/15. Branches merging in action.mp444.42MB
5. GIT and GITHUB/16. Exploring commits tree using graph option.mp413.72MB
5. GIT and GITHUB/17. GitHub and repository hosting services Overview.mp413.02MB
5. GIT and GITHUB/18. Creating remote repository at GitHub.mp417.77MB
5. GIT and GITHUB/19. Pushing from the local repository to remote.mp425.19MB
5. GIT and GITHUB/2. Installing Git.mp48.25MB
5. GIT and GITHUB/20. Committing at GitHub and pulling to the local repository.mp419.34MB
5. GIT and GITHUB/21. Exploring and reading Git Objects.mp424.48MB
5. GIT and GITHUB/22. Reading contents of the HEAD file.mp46.46MB
5. GIT and GITHUB/23. Git Crash Course Summary.mp46.91MB
5. GIT and GITHUB/3. Initializing new Git Repository.mp429.3MB
5. GIT and GITHUB/4. Git Object Types.mp45.67MB
5. GIT and GITHUB/5. Hashes of the Git Objects.mp47.66MB
5. GIT and GITHUB/6. Adding changes to the Staging Area.mp430.81MB
5. GIT and GITHUB/7. Configuring Git author name and email.mp419.95MB
5. GIT and GITHUB/8. Committing changes.mp414.93MB
5. GIT and GITHUB/9. Exploring commits history.mp426.83MB