Skip to content

adityaa-more/ip-address-tracker

Repository files navigation

ip-address-tracker

  • React app using vite to show loaction of IP Address
  • Uses API to get details
  • Uses Leaflet Map to display location
  • Onload displays users IP address and location
  • Can search any IP address or domain

Frontend Mentor - IP address tracker solution

This is a solution to the IP address tracker challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Table of contents

Overview

The challenge

Users should be able to:

  • View the optimal layout for each page depending on their device's screen size
  • See hover states for all interactive elements on the page
  • See their own IP address on the map on the initial page load
  • Search for any IP addresses or domains and see the key information and location

Screenshot

Links

My process

Built with

  • Vite-React
  • Tailwind CSS
  • CSS Grid
  • Mobile-first Workflow
  • React - JS library
  • Tailwind - For styles
  • MapTiler - For Map tiles

What I learned

Use this section to recap over some of your major learnings while working through this project. Writing these out and providing code samples of areas you want to highlight is a great way to reinforce your own knowledge.

To see how you can add code snippets, see below:

  useEffect(() => {
    try {
      const getInitialData = async () => {
        const res = await fetch(`https://ipapi.co/json/`);
        const data = await res.json();
        setAddress(data);
        console.log(data);
      };
      getInitialData();
    } catch (error) {
      console.trace(error);
    }
  }, []);

 <MapContainer
              center={[address.latitude, address.longitude]}
              zoom={13}
              scrollWheelZoom={true}
            >
              <TileLayer
                attribution='&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
                url="https://api.maptiler.com/maps/streets-v2/256/{z}/{x}/{y}.png?key=EXz1FCjaWJDfj8xr50rN"
              />
              <Markerposition address={address} />
            </MapContainer>
}

Continued development

Want to continue to focus on to make it theme-responsive map.

Useful resources

  • Tailwind Docs - This helped me for understanding tailwind concepts and its uses. I really liked this using it and will use it going forward.
  • React-Leaflet - This is an amazing article which helped me finally understand Leaflet in React. I'd recommend it to anyone still learning this concept.

Author

Acknowledgments

Thanks to a lot of people on StackOverflow solving my doubts regarding Leaflets being totally new concept for me.