Code Full-Stack GPS Project with Expert Guidance | 2024
- Description
- Curriculum
- FAQ
- Reviews
I would like to introduce you to a brand new online course where you can learn to create a personalized web dashboard that empowers you to monitor the real-time location of your lost vehicle or person with detailed information. Even if you want to measure the distance and direction of the lost vehicle from your current location, it will also display the same. Let me show you the demo of this innovative project.
How this course is completely different from all other courses?
What sets this course apart from others is its distinct approach. Unlike many courses that rely on 3rd party IoT dashboards, where coding is limited to extracting data from the GPS and then sending it to the 3rd party IoT dashboard for visualization. So you learnt primarily the backend coding, the database and the frontend is handled by pre-existing IoT platforms. By following this approach the learning is almost zero.
Whereas, our course takes a comprehensive approach to full stack development. This means you will be personally crafting the entire backend using C++, and write the code to send all the acquired data to the realtime database. Upon completing these two phases, you will start designing the frontend using HTML, CSS, JavaScript, Bootstrap and Python.
Here are four main reasons, why you should take this course.
1. Custom Dashboard – By building your own dashboard, you’ll have complete control over its design and functionality. You can tailor it precisely to your needs, ensuring a unique and customized user experience.
2. Unlimited Access – Unlike most IoT dashboards that offer only trial accounts with limited features, this course empowers you to overcome such limitations. Your project won’t be constrained by server restrictions or data access. You’ll have the freedom to track data as you please, ensuring your project remains fully accessible and functional.
3. Full Stack Developer Experience – Through this project, you’re not just learning a few coding techniques, but you’re actually building a full-stack project from scratch. This valuable hands-on experience is incredibly beneficial, especially for aspiring full stack developers. The skills and knowledge you gain from this course will be directly applicable to real-world scenarios and could significantly enhance your job prospects in the field.
4. Offering to Clients – If you’re a developer aiming to provide this solution to clients, you can fully customize and tailor the project to their specific requirements. This course grants you the capability to be the master developer, offering a solution that’s both powerful and versatile for a wide range of scenarios.
I have always been a firm believer in learning by doing, and in this course, you will learn what you need to know by hands-on experience. You don’t need any special knowledge except basic computer skills to get started with this course. Every one of you comes from a different background and hence the course is crafted from basic to advanced level with minute detail in every lecture.
To make the learning curve easier, the course has been divided into 9 sections. Then, let us see what we are going to learn in each section.
In the first section, we will understand the project concept and establish a strategic approach for its development. Thereafter, you will get to know the complete list of hardware and software requirements along with a clear understanding of the specific purpose each module serves in the project. Progressing further, we immerse ourselves in a comprehensive understanding of GPS and its underlying principles.
In the second section, we shift our focus towards the practical setup and testing of the GPS module. We will get to know how to assemble the GPS module as per the circuit diagram, and then test the newly purchased GPS module under windows environment. By doing this test, we will be sure that our GPS module is functioning properly and we can move ahead in the project. And, in case the test fails, you can simply request a replacement of your GPS module.
The third section takes us to the testing of our ESP32 board, a critical component in our project architecture. In order to test this board, we will first install the Arduino IDE, which is a widely recognized code editor that serves as a launching pad for deploying programs to the board. And, then add the required board manager library to integrate our ESP32 board. Upon successful integration, we will write our own code to test the functioning of our ESP32 board. By doing this, we will be assured that our newly purchased ESP32 functions properly.
In the fourth section, we will be testing the last module of our project, the OLED display. Our exploration begins with a deep dive into the OLED display’s mechanics and operations. Following this, we will delve into the circuit diagram, illustrating how to seamlessly connect it with ESP32. Once the assembly is over, we will program the OLED module to display the required message. By performing this test we will be assured that our OLED display module is fit for the project or not.
Upon successfully completing all the hardware modules test, we will begin the fifth section with Firebase and Mapbox. We will first understand the role of firebase in our project, and then walkthrough the account creation and configuration of the real-time database. Upon completing this, we will progress to the next phase, focusing on Mapbox. We will explore the platform in detail and navigate through the account creation process, setting the stage for api access and configuration.
In the sixth section, we’ll start working on the backend. First, we’ll figure out how to put together all the hardware modules to design the circuit for the backend. Then, we’ll write a program to get all the GPS data from the connected module and send it to the Firebase for real-time display. To make it more user-friendly, we’ll also show selected GPS data on the OLED Display module.
The seventh section of our journey delves into the realm of frontend development, where the user interface and interactivity of the project come to life. We will begin with Python source code, understanding what it does and why it’s important. After that, we will be understanding the HTML source code’s interplay with CSS and Javascript. These elements play an important role in enhancing interactivity and ensuring that our web application functions seamlessly. This section equips us with valuable insights into running the web server, rendering HTML files using Flask, and employing bootstrap, CSS and Javascript to manipulate elements, ensuring a visually appealing and highly interactive web interface.
The eighth section of our expedition delves into the practical aspect of deploying our project on an online server. Our objective is to ensure that the project is accessible from anywhere, fostering convenience and accessibility. To achieve this, we will walkthrough the process of choosing the best free Python based hosting account and then uploading all the frontend source code to the platform.
As our goal is to build a completely free web application, we’re utilizing a free Firebase account for the database. But, if we need to store these real-time data permanently, an upgrade to a paid Firebase plan with a recurring fee is necessary. So, as a developer, we should always find a way to fix these types of hurdles. Hence, we will be writing our own app script code to fetch all the upcoming data from the firebase and store them into Google Sheets. This approach ensures that all valuable GPS data is meticulously organized in a tabular format, providing a robust data repository that can be harnessed for various purposes in the future.
In the ninth section, we’ll reap the rewards of our efforts. We will see the live demonstration of our project. Here, we will witness the complete project workflow, commencing with the backend data acquisition phase, where the ESP32 board seamlessly retrieves GPS data and transmits it to Firebase for real-time display.
On the frontend, we observe the retrieval of all the Firebase data, which are seamlessly displayed on the web dashboard. Simultaneously, we monitor the real-time insertion of data into Google Sheets every minute. This section serves as a testament to the successful execution of the entire project, showcasing its real-time capabilities and practical functionality.
In the final moments of our journey, we step back to take a panoramic view of the comprehensive project we’ve collectively constructed. So we will walk through the summary of the entire project.
Each video in the course will teach you new concepts and techniques which you may apply to any of your projects immediately. This course assumes just a basic knowledge of programming, and you can leave the rest to us. So if you are somebody who has never built a web based project before, you need not to worry, I will be with you every step of the way.
Don’t let technical errors hold you back from achieving your goals. If you ever need help, simply post your question in the question and answer section and our dedicated support team will get back to you within 24 hours. They are available to assist you 6 days a week, from Monday to Saturday.
We will also share the complete source code with you, so that you can easily replicate the project and deploy it immediately.
All lectures are accompanied by English subtitles, ensuring clear and comprehensive understanding.
Also if you don’t like the course, don’t worry at all, you are always protected by 30 days, no questions asked, money-back guarantee.
Alright, so at the end of the day, you have got nothing to lose, so join me in this incredible journey into the world of web development.
Take control of your career and invest in your future. Don’t miss the opportunity to improve your skills. Enroll now and take the first step towards a better future.
-
1Project ConceptVideo lesson
This course focuses on building a versatile real-time tracking system using GPS modules and a web dashboard. It covers coding in C++, frontend development, and online deployment, enabling users to track objects across various scenarios using a personalized interface.
-
2Hardware and Software RequirementsVideo lesson
In this lecture, we have provided a thorough explanation of each necessary hardware module and the essential software needed to construct the project.
-
3Document - Hardware and Software RequirementsText lesson
In this lecture, we have provided a comprehensive document outlining the hardware and software requirements. This detailed list facilitated an easier process for ordering the necessary hardware modules, ensuring everything was available for the project.
-
4Introduction to GPS and its Working PrincipleVideo lesson
This lecture introduces GPS technology, explaining how it utilizes satellite signals to determine precise locations on Earth's surface. It highlights GPS's significance in navigation, showing how it works through signal transmission, reception and trilateration to provide accurate real-time positioning for diverse applications.
-
5Introduction to NEO6M GPS ModuleVideo lesson
In this lecture, we explore the NEO-6M GPS module, valued for its compact build, accuracy, and seamless integration capabilities. Its efficiency, low power usage, and support for various devices make it a top choice for precise location tracking in applications like navigation systems, asset tracking and IoT devices across different industries.
-
6Understanding the Circuit Diagram to Test GPS Module in WindowsVideo lesson
This lecture guides through testing the NEO-6M GPS module by connecting it to a CP2102 USB to UART module in a Windows environment. The simple circuit setup involves linking corresponding pins like ground, voltage supply, RX and TX between the modules, ensuring proper communication for successful testing.
-
7Circuit Diagram - Testing GPS Module in WindowsText lesson
In this lecture, we are providing the circuit diagram for testing GPS module in windows environment.
-
8Setting up GPS Module in WindowsVideo lesson
This lecture guides through installing the CP2102 USB to UART driver for the GPS module by downloading it from Silicon Labs' official website. By following simple steps in the Device Manager, the driver is successfully installed, assigning a virtual COM port for communication, crucial for visualizing live GPS data in the upcoming lecture.
-
9Testing GPS Module in WindowsVideo lesson
This lecture guides in installing VisualGPS software to see live GPS data, demonstrating how to connect the GPS module to a laptop and configure the software. By checking different data visualizations, it confirms the GPS module's functionality for the project's next steps. Additionally, it provides troubleshooting tips for any potential issues encountered along the project development.
-
10GPS ModuleQuiz
This quiz is designed to test your knowledge and skills in programming concepts. It covers a variety of topics and challenges you to apply your understanding to solve coding problems. Whether you're a beginner or an experienced programmer, this quiz will help you assess your proficiency and identify areas for improvement.
-
11Connecting and Verifying the USB to UART Chip in ESP32Video lesson
In this lecture, we are introducing an ESP32 microcontroller board and demonstrating the process of connecting it to a computer using a micro USB cable. The importance of identifying the USB to UART chip embedded in the ESP32 is emphasized, as this determines the appropriate driver installation. This lecture guides the students on inspecting the chip visually and checking the device manager to confirm the type of chip and address any driver-related issues for successful communication between the ESP32 and the computer.
-
12Arduino InstallationVideo lesson
In this lecture, we are guiding the process of checking whether the CP2102 USB to UART driver comes bundled with the Arduino IDE. Learners are directed to the official Arduino website to download and install the IDE, with step-by-step instructions on the installation process. Despite installing Arduino, the lecture clarifies that the CP2102 driver is not included and learners are shown how to navigate the Arduino IDE interface, including adjusting font size for better visibility.
-
13Setting Up ESP32 in Arduino IDEVideo lesson
This lecture guides learners through the process of setting up the Arduino IDE for ESP32 development. It covers adding the ESP32 board's URL to the preferences, installing the ESP32 board library and choosing a specific version to avoid compatibility issues. This lecture also explains how to manually install the CP2102 driver for the ESP32 board and ensures successful communication between the computer and ESP32 by recognizing the connected port in the Arduino IDE.
-
14Testing the ESP32 Board - Part 1Video lesson
In this lecture, we are introducing to a basic program for testing the functionality of the ESP32 board by blinking its built-in LED. The provided code initializes the serial communication, setting the baud rate to 115200 for reliable communication between the ESP32 and a connected device. The "pinMode" function configures the pin mode and in this case, it designates pin 2 as an output to control the inbuilt LED.
-
15Testing the ESP32 Board - Part 2Video lesson
In this lecture, we are introducing to the code that tests the ESP32 board by blinking its inbuilt LED. The "void loop" function contains code for toggling the LED on and off with a specified time delay, creating a blinking pattern. This lecture guides the learners through saving, compiling and uploading the code to the ESP32 board, confirming its proper functionality through the observed blinking pattern.
-
16CODE - Testing the ESP32 BoardText lesson
In the lecture, we have provided the source code for blinking the inbuilt LED of the ESP32. You can download the code from the resources section and test your ESP32 board.
-
17ESP32 & OLED ModuleQuiz
This quiz is designed to test your knowledge and skills in programming concepts. It covers a variety of topics and challenges you to apply your understanding to solve coding problems. Whether you're a beginner or an experienced programmer, this quiz will help you assess your proficiency and identify areas for improvement.
-
18ESP32 & OLED Display ProgramText lesson
-
19Introduction to the OLED DisplayVideo lesson
This lecture introduces the I2C OLED display, showcasing its OLED technology that offers vibrant visuals with low power usage. With its 128x64 resolution, quick refresh rates, and compatibility with various devices like ESP32 and Arduino, this display suits wearables, IoT gadgets, portable electronics, prototyping and industrial control panels.
-
20Understanding the Circuit Diagram for Testing OLED DisplayVideo lesson
This lecture illustrates connecting the OLED display to an ESP32 by linking essential pins like GND, VCC, SCK and SDA. This setup ensures power supply and communication between the OLED display and ESP32 for testing purposes.
-
21Circuit Diagram - Testing OLED DisplayText lesson
In this lecture, you will find the circuit diagram for testing OLED display.
-
22Understanding the Source Code for Testing OLED DisplayVideo lesson
This lecture explains the source code for testing the OLED display on an ESP32, demonstrating how to initialize the display and position text using (x, y) coordinates. By creating an object, initializing the display and drawing strings at specific coordinates, it illustrates how to display text on the OLED screen.
-
23Code - Testing OLED DisplayText lesson
In this lecture, we are providing the source code for testing OLED display module in the resources section. You can download and modify the code as per your need for the project development.
-
24Output - Testing OLED DisplayVideo lesson
In this lecture, we install necessary library required to execute the code for the OLED display. And after successful execution of the program, we display some message on the OLED display.
-
25Introduction to FirebaseVideo lesson
In this lecture, we explore Firebase, Google's versatile platform used for web and mobile applications. Specifically, we focus on its Realtime Database, a JSON-based cloud-hosted database renowned for real-time synchronization, making it suitable for chat apps, e-commerce, gaming and live tracking services.
-
26Account Creation and Setup of FirebaseVideo lesson
In this lecture, we set up Firebase for real-time data storage from the ESP32. We create a new project, add a web app, and configure Firebase's Realtime Database, preparing it for further project integration and data handling.
-
27Introduction to MapboxVideo lesson
This lecture introduces Mapbox, a tool for making cool maps in apps. It helps developers create interactive maps with different styles and features, like tracking and route planning, perfect for navigation and urban planning projects. The focus here is on Mapbox GL JS, a JavaScript tool that makes building dynamic maps easy and customizable for websites.
-
28Account Creation on MapboxVideo lesson
This lecture explains how to create a Mapbox account and obtain an essential access token for our main project. It involves signing up on Mapbox's website, logging in and copying the access token for later use in our work.
-
29Write a program to determine whether a given integer is a prime number or not.Quiz
-
30Write a program to convert a binary number to decimal.Quiz
-
31Build a simple calculator that performs basic arithmetic operations.Quiz
-
32Understanding the Circuit Diagram for GPS and OLED Connection with ESP32Video lesson
This lecture guides on linking the GPS and OLED modules to the ESP32 using specific pins and USB for connecting to a computer. It highlights the importance of a power bank for a portable power source, especially for field demonstrations, once the project is finalized.
-
33Circuit Diagram - GPS and OLED Connection with ESP32Text lesson
In this lecture, we are providing the circuit diagram for GPS and OLED connection with ESP32.
-
34Understanding the Source Code to Send Data from ESP32 to Firebase - 1Video lesson
In this lecture, the part of the source code includes libraries that manage the OLED display, Firebase services, and GPS data processing. It sets up essential Wi-Fi and Firebase access details and creates storage for GPS information.
-
35Understanding the Source Code to Send Data from ESP32 to Firebase - 2Video lesson
In this lecture, the code segment sets up the ESP32 board to connect to Wi-Fi, communicates with the OLED display and serial monitor for status updates, and prepares Firebase and GPS modules. It's essential setup work before collecting GPS data and sending it to Firebase.
-
36Understanding the Source Code to Send Data from ESP32 to Firebase - 3Video lesson
In the main loop section of the code, the ESP32 board continually checks for available GPS data. If valid data is received, it's displayed on an OLED screen and sent to Firebase for further processing. Additionally, the code includes checks for initial GPS connection within the first 5 seconds and displays an error message if no GPS signal is detected.
-
37Understanding the Source Code to Send Data from ESP32 to Firebase - 4Video lesson
In this lecture, the code segment processes GPS data, converts it to local time and formats it for display and storage. It checks for valid GPS signals, handles time zone differences and sends the organized data to Firebase for storage and further analysis. If the GPS signal is absent or weak, it displays a message on both the Serial Monitor and an OLED screen, waiting for a valid signal.
-
38Installing all the Required LibrariesVideo lesson
This lecture guides through installing necessary libraries by accessing the library manager, searching for each library by name and developer, and ensuring proper installation to prevent potential errors. Detailed library names and developers are provided in the resources section of this lecture.
-
39CODE - Send data from ESP32 to FirebaseText lesson
In the lecture, we have provided the complete source code to send GPS data from ESP32 to Firebase. You can download the code from the resources section and use for your project development.
-
40Uploading Backend Code on ESP32Video lesson
In this lecture, we're uploading code to the ESP32 via Arduino IDE, enabling GPS data collection and transmission to Firebase. By selecting the appropriate board, port and compiling the code error-free, we ensure proper connection to the Wi-Fi network and wait for GPS connectivity to fetch and transmit data to Firebase, completing the backend setup.
-
41OUTPUT - Backend CodeVideo lesson
In this lecture, we execute the entire backend source code to send all the GPS data to the Firebase.
-
42C++ Programming in Arduino IDEQuiz
This quiz is designed to test your knowledge and skills in programming concepts. It covers a variety of topics and challenges you to apply your understanding to solve coding problems. Whether you're a beginner or an experienced programmer, this quiz will help you assess your proficiency and identify areas for improvement.
-
43Write a C++ program to find the largest number among three numbers.Quiz
-
44Write a program in C++ to insert an element at the end of an array.Quiz
-
45Write a C++ program to check whether two characters appear equally in a given string.Quiz
-
46Understanding Frontend - Part 1Video lesson
This lecture covers the web dashboard's front-end code built with HTML, CSS and JavaScript, along with the server-side Python script using Flask. Flask, a lightweight web framework, enables us to create a dynamic web app by defining routes and rendering HTML templates. The app.py file shows how Flask sets up the web app, handles routes and starts a development server for testing.
-
47Understanding Frontend - Part 2Video lesson
This lecture covers the HTML document structure and the purpose of various elements within the head section of an HTML file. It explains the importance of declarations like doctype, language, and metadata like character encoding and viewport settings. It also demonstrates how to include external resources like CSS, JavaScript and how Flask enables dynamic URL generation for assets in a web application. This crucial section sets up the foundation for a well-structured and functional webpage.
-
48Understanding Frontend - Part 3Video lesson
This lecture covers the HTML <body> section, detailing its role as the container for webpage content. It explores div elements, CSS classes and Bootstrap grid systems used for structuring, styling and responsiveness, ensuring a well-organized and adaptable layout for diverse screen sizes in a web application.
-
49Understanding Frontend - Part 4Video lesson
The code section of this lecture demonstrates the HTML table structure and styling using CSS, presenting GPS-related data. The table is styled with Bootstrap classes for responsiveness and each row represents a specific GPS attribute like longitude, latitude, speed and more, with placeholder values initially set as "NA". Additionally, a button triggers a Geolocation API function, enabling distance calculation between the user's current location and a fixed GPS coordinate.
-
50Understanding Frontend - Part 5Video lesson
The code snippet of this lecture structures a web-based GPS dashboard with a responsive map and a reset button. It sets up a responsive map container with a reset button positioned at the top-right corner, allowing users to reset data with a confirmation prompt before page reload. The webpage blends HTML, CSS and JavaScript to create an interactive mapping interface for GPS data presentation.
-
51Understanding Frontend - Part 6Video lesson
The code segment of this lecture adds functionality for a theme switcher and scroll-to-top and scroll-to-bottom buttons. The "change-theme" image, when clicked, cycles through predefined colors, updating the page's border and background. Additionally, the scroll buttons allow users to smoothly navigate to the top or bottom of the content, providing a user-friendly browsing experience on smaller screens.
-
52Understanding Frontend - Part 7Video lesson
The code section of this lecture integrates Mapbox for interactive maps, sets up Firebase for real-time data storage and initializes a map, storing GPS coordinates for tracking a user's path. It also adds a layer to the map that dynamically updates to display the tracked path with a customizable line style.
-
53Understanding Frontend - Part 8Video lesson
In this lecture, the code initializes variables and DOM elements for managing GPS data and the dashboard display. It also includes code that listens for changes in a Firebase database and updates the dashboard in real-time with GPS-related information, utilizing ternary operators to handle empty data and populate the dashboard elements appropriately.
-
54Understanding Frontend - Part 9Video lesson
In this lecture, the script manages direction data, converting abbreviations to full names using a function. It dynamically updates a map by plotting GPS coordinates, forming a line path and creates a new HTML element styled with the class 'start-point'.
-
55Understanding Frontend - Part 10Video lesson
In this lecture, the code handles markers on a Mapbox map, updates their positions based on GPS data, fetches location information using Mapbox Geocoding API, and calculates distances between coordinates, offering a comprehensive overview of real-time map interaction and data representation on a webpage. This code section effectively brings together map markers, API integration, and coordinate calculations for a dynamic map-based display.
-
56CODE - Frontend CodeText lesson
In this lecture, we have provided the complete source code for frontend web dashboard webpage. In the resource section, you can download it for the project development.
-
57HTML, CSS, JS, Bootstrap & PythonQuiz
This quiz is designed to test your knowledge and skills in programming concepts. It covers a variety of topics and challenges you to apply your understanding to solve coding problems. Whether you're a beginner or an experienced programmer, this quiz will help you assess your proficiency and identify areas for improvement.
-
58Create a program : Two numbers as user input, display their sum using HTML, CSS, and JavaScript.Quiz
-
59Choosing the Right Hosting Provider for the ProjectVideo lesson
In this lecture, you will learn how to take your project beyond your local computer using PythonAnywhere, a user-friendly platform for hosting Python projects online. It simplifies web hosting, lets you run Python code in your browser and offers both free and paid plans for deploying web apps or showcasing projects to a wider audience.
-
60PythonAnywhere Account Creation & ConfigurationVideo lesson
In this lecture, we'll explore PythonAnywhere, a platform for hosting Python projects. We'll sign up for a free account, create a unique username, verify email, and get familiar with the dashboard for managing web projects easily.
-
61Uploading Project Files on PythonAnywhereVideo lesson
In this lecture, we will set up our Flask web application on PythonAnywhere. We will upload our project files, adjust the file structure and make necessary code changes to display the frontend. Additionally, we will ensure the security of our site by enabling HTTPS, making it accessible to anyone without concerns about security.
-
62Limitation of Firebase Free AccountVideo lesson
In this lecture, we explore an alternative to storing GPS data on Google Firebase due to cost constraints. We'll craft a Google Apps Script to automate data capture and storage in Google Sheets, ensuring cost-effectiveness and greater control over our GPS records.
-
63Understanding the Code to Save Firebase Data to Google Sheets - 1Video lesson
In this lecture, we'll explore code snippets for integrating Google Apps Script with Firebase to manage GPS data. These functions handle tasks like setting column headers in Google Sheets, fetching data from Firebase and styling the spreadsheet for efficient storage and visualization of the data.
-
64Understanding the Code to Save Firebase Data to Google Sheets - 2Video lesson
In this lecture, we demonstrate functions that efficiently append GPS data from Firebase to a Google Sheet. It checks for existing data, maps it to columns and appends new entries, ensuring seamless and accurate recording of GPS information in a structured sheet.
-
65Setting up the App Script Code in Google Sheets & Creating the TriggerVideo lesson
In this lecture, we proceed with setting up the Google Apps Script and creating a trigger for automated data processing. The process involves adding the necessary Firebase and Google Sheets libraries, executing code to append data successfully, and creating a time-driven trigger for periodic updates. The demonstration showcases the live interaction between Firebase, Google Sheets and the final project dashboard, illustrating successful data retrieval and storage.
-
66CODE - Save Firebase Data to Google SheetsText lesson
In this lecture, we are providing the source code for saving the firebase data to the google sheets. You can download and modify it with your credentials for successful execution of the program.
-
67Write a Python function is_leap_year that takes a year as parameter and returns True or False.Quiz
-
68Build password generator: 8-16 characters, mix of letters, punctuation, and digits.Quiz
-
69Create a Python class with setString and printString methods: set user string, print in uppercase.Quiz
-
70Flask ProgramText lesson
External Links May Contain Affiliate Links read more