From 6075472f3dbb13db4f3901413950f3385e68f8f2 Mon Sep 17 00:00:00 2001 From: FernandoJVideira <03.pleaser-minster@icloud.com> Date: Fri, 1 Aug 2025 01:13:33 +0100 Subject: [PATCH] Name Generator Rework --- API.md | 96 +++++ src/components/NameGenerator.vue | 515 ++++++++++---------------- src/components/NameGeneratorCard.vue | 518 +++++++++++++++++++++++++++ 3 files changed, 812 insertions(+), 317 deletions(-) create mode 100644 API.md create mode 100644 src/components/NameGeneratorCard.vue diff --git a/API.md b/API.md new file mode 100644 index 0000000..62cb48d --- /dev/null +++ b/API.md @@ -0,0 +1,96 @@ +# NameGen API Documentation + +## Base URL + +``` +https://namegen.fernandovideira.com/v1 +``` + +## Fantasy Name Endpoints + +| Race/Type | Endpoint | Query Parameters | +| ------------ | --------------------------- | ---------------- | ------ | ------- | +| Elf | /fantasy/elf-names | gender=male | female | child | +| Dwarf | /fantasy/dwarf-names | gender=male | female | +| Arakocra | /fantasy/arakocra-names | - | +| Aasimar | /fantasy/aasimar-names | gender=male | female | +| Bugbear | /fantasy/bugbear-names | - | +| Centaur | /fantasy/centaur-names | gender=male | female | +| Changeling | /fantasy/changeling-names | - | +| Deep Gnome | /fantasy/deep-gnome-names | gender=male | female | +| Deva | /fantasy/deva-names | gender=male | female | +| Dragonborn | /fantasy/dragonborn-names | gender=male | female | surname | +| Drow | /fantasy/drow-names | gender=male | female | surname | +| Duergar | /fantasy/duergar-names | gender=male | female | +| Eladrin | /fantasy/eladrin-names | gender=male | female | +| Fairy | /fantasy/fairy-names | gender=male | female | +| Firbolg | /fantasy/firbolg-names | gender=male | female | child | +| Genasi | /fantasy/genasi-names | - | +| Githyanki | /fantasy/githyanki-names | gender=male | female | +| Githzerai | /fantasy/githzerai-names | gender=male | female | +| Gnome | /fantasy/gnome-names | gender=male | female | +| Goblin | /fantasy/goblin-names | gender=male | female | +| Goliath | /fantasy/goliath-names | gender=male | female | +| Grung | /fantasy/grung-names | - | +| Half-Elf | /fantasy/half-elf-names | gender=male | female | +| Half-Orc | /fantasy/half-orc-names | gender=male | female | +| Halfling | /fantasy/halfling-names | gender=male | female | +| Harengon | /fantasy/harengon-names | gender=male | female | +| Hobgoblin | /fantasy/hobgoblin-names | - | +| Human | /fantasy/human-names | gender=male | female | +| Kalashtar | /fantasy/kalashtar-names | - | +| Kenku | /fantasy/kenku-names | - | +| Kobold | /fantasy/kobold-names | - | +| Leonin | /fantasy/leonin-names | gender=male | female | +| Lizardfolk | /fantasy/lizardfolk-names | gender=male | female | +| Locathah | /fantasy/locathah-names | - | +| Loxodon | /fantasy/loxodon-names | gender=male | female | +| Minotaur | /fantasy/minotaur-names | gender=male | female | +| Orc | /fantasy/orc-names | gender=male | female | +| Satyr | /fantasy/satyr-names | gender=male | female | child | +| Shadar-Kai | /fantasy/shadar-kai-names | gender=male | female | +| Shardmind | /fantasy/shardmind-names | - | +| Shifter | /fantasy/shifter-names | gender=male | female | +| Simic Hybrid | /fantasy/simic-hybrid-names | gender=male | female | +| Tabaxi | /fantasy/tabaxi-names | gender=male | female | +| Tiefling | /fantasy/tiefling-names | gender=male | female | virtue | +| Tortle | /fantasy/tortle-names | - | +| Triton | /fantasy/triton-names | gender=male | female | +| Vedalken | /fantasy/vedalken-names | gender=male | female | +| Verdan | /fantasy/verdan-names | - | +| Warforged | /fantasy/warforged-names | - | +| Wilden | /fantasy/wilden-names | gender=male | female | +| Yuan-Ti | /fantasy/yuan-ti-names | - | + +## Modern Name Endpoints + +| Language/Type | Endpoint | Query Parameters | +| ---------------------- | ------------------ | ---------------- | ------ | ------ | +| Modern English | /modern/english | gender=male | female | unisex | +| Modern Portuguese (EU) | /modern/portuguese | gender=male | female | unisex | + +## How to Query the API + +- All endpoints return a JSON object with a `names` array. +- Use the `gender` query parameter where supported (e.g., `?gender=female`). +- Example request: + +``` +GET https://namegen.fernandovideira.com/v1/fantasy/elf-names?gender=female +``` + +``` +GET https://namegen.fernandovideira.com/v1/modern/english?gender=unisex +``` + +## Example Response + +```json +{ + "names": [ + "Aelene Galanodel", + "Lia Siannodel", + ... + ] +} +``` diff --git a/src/components/NameGenerator.vue b/src/components/NameGenerator.vue index 971c306..9a6e6e2 100644 --- a/src/components/NameGenerator.vue +++ b/src/components/NameGenerator.vue @@ -1,337 +1,218 @@ - + diff --git a/src/components/NameGeneratorCard.vue b/src/components/NameGeneratorCard.vue new file mode 100644 index 0000000..a38b0fb --- /dev/null +++ b/src/components/NameGeneratorCard.vue @@ -0,0 +1,518 @@ + + + + +