As a developer, my primary objective with this project was to showcase my decision-making abilities and technical skills. Here are some important notes about the development process:
- This project demonstrates my ability to make architectural and implementation decisions in a real-world scenario.
- Some portions of the code were generated or auto-completed using AI tools, but I personally orchestrated the overall structure, architecture, and information flow.
- All design decisions and implementation approaches were made by me, with the intention of demonstrating my skills during a typical workday environment.
For examples of repositories where I did not use AI assistance at all, please check:
- API Heaven - A NestJS API project
- Core Heaven - A TypeScript core library
- Site Heaven - A Next.js web application
- Live Demo
For additional examples of my PHP knowledge and research, which is relevant to the job position, please check:
- Uplearn - An AI-Powered Adaptive Learning Platform with PHP implementation
- Live Demo (Note: While this project is deployed to the cloud, it's not fully connected due to token cost considerations)
A React TypeScript application for exploring UNESCO World Heritage Sites data.
- View detailed information about UNESCO World Heritage Sites
- Multi-language support for site names and descriptions
- Filter sites by category
- Search by name or country
- View site geographical information and criteria
- Node.js (v20.18.1 or later)
- npm or pnpm
-
Clone the repository
-
Install dependencies:
npm installor
pnpm install -
Using the whc-sites.tsv file might be the best option since the .csv file in this project is corrupted. You can change whether to read a .tsv or .csv file in /utils/csvParser.ts and by changing the file path in store/sitesStore.ts
Run the development server:
npm run dev
or
pnpm dev
Build the project:
npm run build
or
pnpm build
The application uses the UNESCO World Heritage Sites data in CSV format with the following structure:
unique_number- A unique identifierid_no- The UNESCO ID number for the site- Names in different languages (en, fr, es, ru, ar, zh)
- Descriptions in different languages
- Geographical information (longitude, latitude, area)
- Criteria information (C1-C6, N7-N10)
- Danger status information
- Country and region information
- React
- TypeScript
- Vite
- CSS
This project is open-source.