Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌍 GeoVault β€” Explore, compare, and understand countries worldwide

GeoVault is a modern, responsive web application that allows users to explore detailed information about countries worldwide, including population, capital, region, languages, and flags.The app includes interactive features such as search, filtering, sorting (using array higher-order functions), country comparison, and a dark/light mode toggle to enhance user experience.


πŸ“Œ Project Overview

Built using HTML, Vanilla JavaScript, and Tailwind CSS, the application fetches real-time data from the REST Countries API to display key details such as population, capital, region, languages, and flags.

GeoVault focuses on providing a smooth user experience through dynamic features like search, filtering, and sorting, all implemented using JavaScript array higher-order functions (filter, sort, map, etc.).

The goal of this project is to demonstrate strong fundamentals of API integration, DOM manipulation, and modern UI design, while building a practical and visually appealing data-driven application.


πŸ”— APIs Used

API Purpose Auth Required
REST Countries Country data (population, area, region, capital, languages, currencies) ❌

✨ Features

  • Country Info Card β€” Displays population, region, capital, languages, currency

  • Search Functionality β€” Implemented using Array.filter()

  • Filtering System β€” Region, subregion, population filters using chained filter()

  • Sorting Options β€” Name, population, area using Array.sort()

  • Comparison Panel β€” Compare up to 2 countries side-by-side

  • Dark/Light Mode β€” Toggle for better user experience


πŸ› οΈ Technologies

  • JavaScript (Vanilla JS) β€” Core logic
  • REST Countries API β€” Country data
  • CSS (Custom Styling) β€” UI design

πŸ“Š HOF Usage

  • filter() β†’ Search & filtering
  • sort() β†’ Sorting data
  • map() β†’ Rendering UI
  • find() β†’ Compare logic

πŸ—“οΈ Milestones

Milestone Description Deadline
M1 Setup & planning 23 March
M2 API integration 1 April
M3 Features implementation 8 April
M4 Deployment & polish 10 April

πŸ‘€ Author

Mrinal

GitHub: @mrinal-create

About

college project

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages