Skip to content

Repo Architecture ‐ app routes

Alex Cohen edited this page Sep 13, 2024 · 1 revision

app/routes/ Directory Overview

The app/routes/ directory contains the route definitions for the application, following the conventions of the Remix framework. Each file or subdirectory represents a route in the application. Here's a breakdown of its contents:

Files and Subdirectories:

  1. Root-Level Routes

    • [BingSiteAuth.xml].tsx

      • Path: app/routes/[BingSiteAuth.xml].tsx
      • Description: Handles requests for BingSiteAuth.xml, likely used for site ownership verification with Bing Webmaster Tools.
    • [robots.txt].tsx

      • Path: app/routes/[robots.txt].tsx
      • Description: Serves the robots.txt file, which provides web crawling instructions to search engines.
    • [sitemap.xml].tsx

      • Path: app/routes/[sitemap.xml].tsx
      • Description: Generates the sitemap.xml for SEO purposes.
  2. Public Routes

    • _public.tsx

      • Path: app/routes/_public.tsx
      • Description: The base component for public (non-authenticated) routes.
    • _public/*.tsx

      • These files extend the public routes and include specific pages:

      • _public/_index.tsx

        • Path: app/routes/_public/_index.tsx
        • Description: The homepage or landing page of the application.
      • _public/allagan-data.tsx

        • Path: app/routes/_public/allagan-data.tsx
        • Description: Page providing data related to Allagan, possibly in the context of FFXIV.
      • _public/debug.tsx

        • Path: app/routes/_public/debug.tsx
        • Description: A debug page for development purposes.
      • _public/options.tsx

        • Path: app/routes/_public/options.tsx
        • Description: Options or settings page accessible to the public.
      • _public/price-sniper.tsx

        • Path: app/routes/_public/price-sniper.tsx
        • Description: A tool or feature related to price tracking/sniping.
      • _public/undercut.tsx

        • Path: app/routes/_public/undercut.tsx
        • Description: Possibly a page for monitoring undercutting in market prices.
  3. Blog Routes

    • blog/*.tsx
      • Blog articles and pages:

      • blog/_index.tsx

        • Path: app/routes/blog/_index.tsx
        • Description: The main blog page listing blog posts.
      • blog/ffxiv/*.tsx

        • Blog posts related to Final Fantasy XIV:

        • blog/ffxiv/bs1.tsx to blog/ffxiv/bs15.tsx

          • Description: A series of blog articles, possibly covering different aspects or strategies in FFXIV.
        • blog/ffxiv/howtoresell.tsx

          • Description: An article on how to resell items in FFXIV.
      • blog/wow/*.tsx

        • Blog posts related to World of Warcraft:

        • blog/wow/crossrealm1.tsx

          • Description: Discusses cross-realm functionalities or strategies in WoW.
        • blog/wow/tldr.tsx

          • Description: A "Too Long; Didn't Read" summary of a longer topic related to WoW.
      • blog/r1.tsx, r2.tsx, r3.tsx

        • Description: Other blog articles, possibly reviews or guides.
  4. FFXIV Routes

    • ffxiv.tsx

      • Path: app/routes/ffxiv.tsx
      • Description: Entry point for FFXIV-related routes.
    • ffxiv/*.tsx

      • ffxiv/craftsim/_index.tsx

        • Path: app/routes/ffxiv/craftsim/_index.tsx
        • Description: Crafting simulator homepage for FFXIV.
      • ffxiv/craftsim/queries.tsx

        • Path: app/routes/ffxiv/craftsim/queries.tsx
        • Description: Queries related to the crafting simulator.
      • Other FFXIV-related pages:

        • ffxiv/extended-history.tsx

          • Provides extended market history data.
        • ffxiv/itemlist.tsx

          • Displays a list of items in FFXIV.
        • ffxiv/marketshare/_index.tsx

          • Market share overview for FFXIV items.
        • ffxiv/marketshare/queries.tsx

          • Queries related to market share data.
        • ffxiv/scrip-exchange.tsx

          • Information on scrip exchange rates or opportunities.
        • ffxiv/self-purchase.tsx

          • Features allowing users to self-purchase or analyze self-purchase options.
        • ffxiv/shopping-list.tsx

          • Provides shopping list functionalities for players.
  5. WoW Routes

    • wow.tsx

      • Path: app/routes/wow.tsx
      • Description: Entry point for WoW-related routes.
    • wow/*.tsx

      • wow/_index.tsx

        • Path: app/routes/wow/_index.tsx
        • Description: Main page for WoW-related features.
      • wow/best-deals/*.tsx

        • wow/best-deals/_index.tsx

          • Overview of best deals available.
        • wow/best-deals/recommended.tsx

          • Recommended best deals for users.
      • Other WoW-related pages:

        • wow/export-search.tsx

          • Functionality to export search results.
        • wow/full-scan.tsx

          • Performs a full market scan for WoW items.
        • wow/item-data.$itemId.tsx

          • Displays data for a specific item based on $itemId.
        • wow/itemlist.tsx

          • Displays a list of WoW items.
        • wow/legacy-marketshare.tsx

          • Legacy market share data.
        • wow/marketshare/_index.tsx

          • Market share overview for WoW items.
        • wow/marketshare/recommended.tsx

          • Recommended market share opportunities.
        • wow/pet-marketshare.tsx

          • Market share data specific to WoW pets.
        • wow/price-alert.tsx

          • Price alert functionalities.
        • wow/region-undercut.tsx

          • Undercutting strategies or data across different regions.
        • wow/shopping-list.tsx

          • Shopping list features for WoW players.
        • wow/shortage-predictor.tsx

          • Predicts item shortages.
        • wow/shortages/commodities.tsx

          • Shortages specific to commodities.
        • wow/shortages/single.tsx

          • Shortages of single items.
        • wow/upload-timers.tsx

          • Timing functionalities for uploading data.
  6. Queries Routes

    • queries.tsx

      • Path: app/routes/queries.tsx
      • Description: Entry point for query-related functionalities.
    • queries/*.tsx

      • queries/_index.tsx

        • Main queries page.
      • queries/full-scan.tsx

        • Performs a full scan across markets.
      • queries/item-data.$itemId.tsx

        • Provides item data based on $itemId.
      • queries/item-history.tsx

        • Shows historical data for items.
      • queries/listings.tsx

        • Displays current listings.
      • queries/previous-search.tsx

        • Allows users to access their previous searches.
      • queries/recommended.tsx

        • Recommends items or searches.
      • queries/world-comparison.tsx

        • Compares data across different worlds or servers.
  7. Why Routes

    • why/advertisements.tsx
      • Path: app/routes/why/advertisements.tsx
      • Description: A page explaining the use of advertisements within the application.

Diagram of the Route Structure

Below is a simplified diagram representing the hierarchical route structure of the application:

graph LR;

root["/"]

%% Root-Level Routes
root --> robots["robots.txt"]
root --> sitemap["sitemap.xml"]
root --> bingAuth["BingSiteAuth.xml"]

%% Public Routes
root --> public["_public"]
public --> public_index["_index"]
public --> allagan_data["allagan-data"]
public --> debug["debug"]
public --> options["options"]
public --> price_sniper["price-sniper"]
public --> undercut["undercut"]

%% Blog Routes
root --> blog["blog"]
blog --> blog_index["_index"]

subgraph FFXIV Blog
    blog --> ffxiv_blog["ffxiv"]
    ffxiv_blog --> bs1["bs1"]
    %% ... Additional bsX nodes ...
    ffxiv_blog --> bs15["bs15"]
    ffxiv_blog --> how_to_resell["howtoresell"]
end

subgraph WoW Blog
    blog --> wow_blog["wow"]
    wow_blog --> crossrealm["crossrealm1"]
    wow_blog --> tldr["tldr"]
end

blog --> r1["r1"]
blog --> r2["r2"]
blog --> r3["r3"]

%% FFXIV Routes
root --> ffxiv["ffxiv"]
ffxiv --> craftsim["craftsim"]
craftsim --> craftsim_index["_index"]
craftsim --> craftsim_queries["queries"]
ffxiv --> extended_history["extended-history"]
ffxiv --> itemlist_ffxiv["itemlist"]
ffxiv --> marketshare_ffxiv["marketshare"]
marketshare_ffxiv --> marketshare_index_ffxiv["_index"]
marketshare_ffxiv --> marketshare_queries_ffxiv["queries"]
ffxiv --> scrip_exchange["scrip-exchange"]
ffxiv --> self_purchase["self-purchase"]
ffxiv --> shopping_list_ffxiv["shopping-list"]

%% WoW Routes
root --> wow["wow"]
wow --> wow_index["_index"]
wow --> best_deals["best-deals"]
best_deals --> best_deals_index["_index"]
best_deals --> best_deals_recommended["recommended"]
wow --> export_search["export-search"]
wow --> full_scan_wow["full-scan"]
wow --> item_data_wow["item-data.$itemId"]
wow --> itemlist_wow["itemlist"]
wow --> legacy_marketshare["legacy-marketshare"]
wow --> marketshare_wow["marketshare"]
marketshare_wow --> marketshare_index_wow["_index"]
marketshare_wow --> marketshare_recommended_wow["recommended"]
wow --> pet_marketshare["pet-marketshare"]
wow --> price_alert["price-alert"]
wow --> region_undercut["region-undercut"]
wow --> shopping_list_wow["shopping-list"]
wow --> shortage_predictor["shortage-predictor"]
wow --> shortages["shortages"]
shortages --> commodities["commodities"]
shortages --> single["single"]
wow --> upload_timers["upload-timers"]

%% Queries Routes
root --> queries["queries"]
queries --> queries_index["_index"]
queries --> full_scan_queries["full-scan"]
queries --> item_data_queries["item-data.$itemId"]
queries --> item_history["item-history"]
queries --> listings["listings"]
queries --> previous_search["previous-search"]
queries --> recommended_queries["recommended"]
queries --> world_comparison["world-comparison"]

%% Why Routes
root --> why["why"]
why --> advertisements["advertisements"]
Loading

Explanation of the Diagram

  • Root (/): The base of the application, leading to various routes.

  • Root-Level Routes: Special files served at the root, such as robots.txt, sitemap.xml, and BingSiteAuth.xml.

  • Public Routes (_public): Accessible without authentication, including the homepage and utility pages like options and debugging tools.

  • Blog Routes (blog): Contains blog articles related to FFXIV, WoW, and other topics.

    • FFXIV Blog: Articles specific to Final Fantasy XIV.

    • WoW Blog: Articles specific to World of Warcraft.

    • Other Articles: General articles or guides.

  • FFXIV Routes (ffxiv): Pages and tools specific to Final Fantasy XIV players, such as crafting simulators, market analyses, and shopping lists.

  • WoW Routes (wow): Pages and tools for World of Warcraft players, including best deals, market shares, item data, and shortages.

  • Queries Routes (queries): General search and data retrieval functionalities that might be shared across different game modules.

  • Why Routes (why): Informational pages explaining certain aspects of the application, such as the presence of advertisements.


Please let me know if you need further details on any specific file or component, or if there's anything else I can assist you with!

Analysis chain
Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# List all files in the 'app/routes/' directory with their relative paths
find app/routes -type f -printf '%P\n'

Length of output: 1568

Clone this wiki locally