Backend API for a world heritage study app targeting users preparing for the World Heritage Certification exam. Fetches and manages UNESCO World Heritage data, providing APIs for search, listing, and detail retrieval.
Persona This API powers a study app for people preparing for the World Heritage Certification Exam. Instead of carrying a heavy textbook, users can quickly look up heritage sites — their overview, location, and classification — from their smartphone or PC. The app targets anyone interested in the certification, regardless of age or experience. Example User Tanaka-san, 28, office worker Decided to take the World Heritage Certification Exam (Level 2). During the commute, she wants to quickly look up heritage sites on her phone, but the official textbook is too heavy to carry around. She needs a tool where she can check the location on a map along with the category and year of inscription — all in one place.
- PHP / Laravel
- MySQL
- Algolia (Full-text search)
- Koyeb (Production hosting)
cp .env.example .env
composer install
php artisan key:generate
php artisan migrateRun the following commands from the Koyeb console.
Dumps data from UNESCO and rebuilds the DB and Algolia index.
php artisan app:world-heritage-build --force --dump --jp --pretty| Option | Description |
|---|---|
--force |
Allow execution outside local/testing |
--dump |
Dump JSON from UNESCO |
--jp |
Import Japanese names |
--pretty |
Pretty print JSON output |
php artisan app:world-heritage-build --fresh --jp --pretty --algolia --algolia-truncate --force
⚠️ --freshdrops and recreates all tables. All existing data will be lost.
php artisan world-heritage:import-japanese-names --forcephp artisan test