Introduction

QGIS is a free and open-source Geographic Information System (GIS) software. It’s a versatile tool for viewing, editing, analyzing, and publishing geospatial data, allowing users to create maps, perform spatial analysis, and manage geographic information.

Key Features and Functions:

  • Spatial Data Analysis
  • Mapping and Visualization
  • Data Management
  • User-Friendly Interface
  • Open-Source Nature

Common Uses:

  • Mapping and Spatial Analysis: QGIS is widely used for creating maps, analyzing spatial data, and visualizing geographical information. 
  • Geospatial Data Management: It can be used to organize, manage, and analyze geospatial data from various sources. 
  • Scientific Research:QGIS is employed in scientific research for analyzing geographical data, modeling, and visualization. 
  • Education and Training:QGIS is a popular software for teaching and learning about GIS concepts and techniques. 
  • Government and Public Administration: It is used by government agencies for managing land use planning, resource management, and other spatial applications. 

May 27 – May 31: Getting Coordinates and Preparing Data

I started by collecting information about ATL schools, IBT schools, LCM schools, and different technology locations across India. These were all in Excel files without latitude and longitude. So, I used a website called EZ Geocode to convert school and tech addresses into proper coordinates. i needed accurate latitude and longitude to appear correctly on a map. I made sure each CSV was clean and properly formatted.

June 1 – June 4: QGIS Mapping and Layer Creation

Using QGIS, I imported my CSV files and added them as separate layers on an OpenStreetMap base layer. I saved the QGIS project and exported each layer to a separate CSV so I could use them in the web app later. I saved Atl, Ibt, Lcm and technologies as separate layers in 4 projects and then combined it into one.

June 5 – June 8: Planning the Full-Stack App

I had to build a website where anyone could search for a school or technology and instantly see its location on the map. The frontend was built using Vite + React + TypeScript. I focused on creating the backend using Python Flask and a lightweight database: SQLite.

Problems I faced:

  • I didn’t know how to connect backend to frontend.
  • I didn’t know how to structure backend files.
  • CSV headers didn’t match table columns and gave errors.

How I solved it:

  • I learned how to create routes in Flask.
  • I created a load_data.py script to insert CSV data into a SQLite database.
  • I normalized column names and carefully matched them to avoid loading issues.

June 9 – June 12: Backend Setup + API Building

I created API routes in Flask. Each route fetched data from SQLite and returned it as JSON. Then I updated the React frontend to fetch and display the number of schools or technologies found. Frontend couldn’t talk to the backend because of a CORS error. I fixed it by adding CORS(app) in my app.py.

June 14:

I wanted to show all these schools and technologies on a live map. So, I installed react-leaflet@4.2.1 (because latest version needs React 19, and I had React 18).