Backend REST API for LangNav, built with Express + TypeScript.
npm install
npm run devGET /api/languages— list all languagesGET /api/languages/:id— get language by ISO 639-3 codeGET /api/languages?q=— search by name or code
GET /api/locales— list all localesGET /api/locales/:id— get locale by BCP 47 tagGET /api/locales?q=— search by name or codeGET /api/locales?language=— filter by language codeGET /api/locales?territory=— filter by territory code
GET /api/territories— list all territoriesGET /api/territories/:id— get territory by IDGET /api/territories?q=— search by nameGET /api/territories?inTerritory=— filter by region
GET /api/variant— list all variant tagsGET /api/variant/:id— get variant tag by subtagGET /api/variant?q=— search by name or subtag
GET /api/censuses— list all censusesGET /api/censuses/:id— get census by IDGET /api/censuses?territory=— filter by territory code
GET /api/writingsystems— list all writing systemsGET /api/writingsystems/:id— get writing system by ISO 15924 codeGET /api/writingsystems?q=— search by name or code
GET /api/ext/geo/country-coord— country coordinatesGET /api/ext/un/territory-gdp-literacy— GDP and literacy dataGET /api/ext/iana/variant— IANA variant tag dataGET /api/ext/unicode/cldr-coverage— CLDR locale coverage dataGET /api/ext/glottolog/languages— Glottolog language dataGET /api/ext/glottolog/manual-iso-links— Glottolog manual ISO mappingsGET /api/ext/iso/iso-639-3— ISO 639-3 language codesGET /api/ext/iso/macrolanguages— ISO macrolanguage mappingsGET /api/ext/iso/families— ISO 639-5 language familiesGET /api/ext/iso/family-language-links— family to language linksGET /api/ext/iso/retirements— retired ISO codesGET /api/ext/tc/language-names-french— French names for languages
GET /api/curated/territories— curated territory dataGET /api/curated/writingsystems— curated writing system dataGET /api/curated/languages— curated language dataGET /api/curated/locales— curated locale data
After pushing code to GitHub, update the app on cPanel:
- Open cPanel → Terminal
- Run:
source /home/ldijnpfhyij5/nodevenv/lang-nav-api/24/bin/activate
cd ~/lang-nav-api
git pull
npm install --include=dev
./node_modules/.bin/tsc- Go to cPanel → Setup Node.js App → click Restart
- Territoy endpoints connected to real database
- Other entities (Language, Locale, WritingSystem, VariantTag, Census) still using mock data
- MySQL hosted on GoDaddy cPanel