UNPKG

egylist

Version:

A package providing access to a wide range of official data related to Egypt, including universities, government entities, and other national resources. This package is designed to make it easy for developers to integrate Egypt-specific information into t

219 lines (176 loc) 6.92 kB
<div align="center"> <!-- <h1>EgyList</h1> --> <img src="assets/image/banner.png" alt="EgyList Banner" width="10000"/> <p>A comprehensive Node.js package providing access to official Egyptian data including universities, governorates, cities, and more. This package makes it easy for developers to integrate Egypt-specific information into their applications.</p> <br> <!-- <a href="https://www.npmjs.com/package/egylist" target="_blank"> <img src="https://img.shields.io/npm/v/egylist?style=for-the-badge&logo=npm&label=NPM%20Version" alt="NPM Version" /> </a> <a href="https://github.com/yourusername/egylist/stargazers" target="_blank"> <img src="https://img.shields.io/github/stars/yourusername/egylist?style=for-the-badge&logo=github&label=Stars" alt="GitHub Stars" /> </a> <a href="https://github.com/yourusername/egylist/blob/main/LICENSE" target="_blank"> <img src="https://img.shields.io/github/license/yourusername/egylist?style=for-the-badge&label=License" alt="License" /> </a> --> </div> ## Installation ```bash npm install egylist ``` ## Features - 🏛️ Complete list of Egyptian universities (40+ universities) - 🏢 University faculties information - 🗺️ All Egyptian governorates (27 governorates) - 🏙️ Cities data for each governorate (100+ cities) - 🔍 Search functionality for cities - 🌐 Bilingual support (Arabic & English) - 📍 Postal codes for governorates - 🏫 Public and private university classification ## Usage ### Import the functions ```javascript import { getAllUniversities, getFacultiesByUniversity, getAllGovernorates, getCitiesByGovernorateId, getAllCities, searchCitiesByName } from 'egylist'; ``` ### Universities #### Get all universities ```javascript const universities = getAllUniversities(); console.log(universities); // Output: ["Cairo University", "Ain Shams University", "Alexandria University", ...] ``` #### Get faculties for a specific university ```javascript const faculties = getFacultiesByUniversity('جامعة القاهرة'); console.log(faculties); // Output: ["كلية الحاسبات والمعلومات", "كلية الهندسة", "كلية الطب", ...] ``` ### Governorates & Cities #### Get all governorates ```javascript const governorates = getAllGovernorates(); console.log(governorates); // Output: [ // { id: 1, name_en: "Cairo", name_ar: "القاهرة" }, // { id: 2, name_en: "Alexandria", name_ar: "الإسكندرية" }, // ... // ] ``` #### Get cities by governorate ID ```javascript const cities = getCitiesByGovernorateId(1); // Cairo governorate console.log(cities); // Output: [ // { id: 1, name_en: "Cairo", name_ar: "القاهرة" }, // { id: 2, name_en: "Helwan", name_ar: "حلوان" }, // ... // ] ``` #### Get all cities (flat list) ```javascript const allCities = getAllCities(); console.log(allCities); // Output: Array of all cities from all governorates ``` #### Search cities by name ```javascript const searchResults = searchCitiesByName('cairo'); console.log(searchResults); // Output: Cities matching "cairo" in English or Arabic names const arabicSearch = searchCitiesByName('القاهرة'); console.log(arabicSearch); // Output: Cities matching "القاهرة" in Arabic or English names ``` ## API Reference ### Universities | Function | Parameters | Returns | Description | |----------|------------|---------|-------------| | `getAllUniversities()` | None | `string[]` | Returns English names of all universities | | `getFacultiesByUniversity(universityName)` | `universityName: string` | `string[]` | Returns faculties for the specified university (Arabic name) | ### Governorates & Cities | Function | Parameters | Returns | Description | |----------|------------|---------|-------------| | `getAllGovernorates()` | None | `Governorate[]` | Returns all governorates with ID and bilingual names | | `getCitiesByGovernorateId(governorateId)` | `governorateId: number` | `City[]` | Returns cities in the specified governorate | | `getAllCities()` | None | `City[]` | Returns all cities from all governorates | | `searchCitiesByName(name)` | `name: string` | `City[]` | Search cities by name (supports Arabic and English) | ## Data Structures ### Governorate Object ```javascript { id: number, name_en: string, name_ar: string } ``` ### City Object ```javascript { id: number, name_en: string, name_ar: string } ``` ### University Data (Internal) ```javascript { name: string, // Arabic name engName: string, // English name type: string, // "حكومية" (Public) or "خاصة" (Private) faculties: string[] // Array of faculty names in Arabic } ``` ## Data Coverage ### Universities - **40+ Universities** including major public and private institutions - **Government Universities**: Cairo University, Alexandria University, Ain Shams University, etc. - **Private Universities**: American University in Cairo, German University in Cairo, October 6 University, etc. - **Faculties**: Complete list of faculties for each university ### Geographic Data - **27 Governorates** covering all of Egypt - **100+ Cities** with bilingual names - **Postal Codes** for each governorate - **Complete Coverage** from Cairo to Aswan, including Sinai and Red Sea regions ## Examples ### Complete Example ```javascript import { getAllUniversities, getFacultiesByUniversity, getAllGovernorates, getCitiesByGovernorateId, searchCitiesByName } from 'egylist'; // Get all universities const universities = getAllUniversities(); console.log(`Total universities: ${universities.length}`); // Get faculties for Cairo University const cairoUniFaculties = getFacultiesByUniversity('جامعة القاهرة'); console.log(`Cairo University has ${cairoUniFaculties.length} faculties`); // Get all governorates const governorates = getAllGovernorates(); console.log(`Egypt has ${governorates.length} governorates`); // Get cities in Cairo governorate const cairoCities = getCitiesByGovernorateId(1); console.log(`Cairo governorate has ${cairoCities.length} cities`); // Search for cities containing "new" const newCities = searchCitiesByName('new'); console.log(`Found ${newCities.length} cities with "new" in the name`); ``` ## Links - [GitHub Repository](https://github.com/Badawy403/Egy.List) - [NPM Package](https://www.npmjs.com/package/egylist) - [Issues](https://github.com/Badawy403/Egy.List/issues) ## Contributing Contributions are welcome! Please feel free to submit a Pull Request. Areas for contribution: - Adding more universities - Updating university data - Adding more cities - Improving search functionality - Adding tests