Files
2026-06-13 02:13:57 +08:00

4.8 KiB
Raw Permalink Blame History

Create a complete responsive Foreign Exchange Dashboard using HTML, CSS, and JavaScript in a single HTML file.

Use this API: https://github.com/fawazahmed0/exchange-api

Use these API endpoint patterns: Primary: https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@latest/v1/currencies/{baseCurrency}.json

Historical: https://cdn.jsdelivr.net/npm/@fawazahmed0/currency-api@YYYY-MM-DD/v1/currencies/{baseCurrency}.json

Fallback: https://latest.currency-api.pages.dev/v1/currencies/{baseCurrency}.json https://YYYY-MM-DD.currency-api.pages.dev/v1/currencies/{baseCurrency}.json

Build a polished foreign exchange dashboard with the following features:

  1. Current value section
  • Show the selected base currency and target currency.
  • Display the latest exchange rate prominently.
  • Include daily percentage change if historical data is available.
  • Add small status badges such as “Uptrend,” “Downtrend,” or “Stable.”
  1. Currency table or list
  • Show a searchable and sortable table of currency exchange rates.
  • Include currency code, currency name if available, current rate, change percentage, and trend direction.
  • Highlight strongest and weakest currencies.
  1. Candlestick chart
  • Add a candlestick-style chart for the selected currency pair.
  • Since the API provides daily exchange rates, build historical candles using daily values.
  • Use previous day rate as open and current day rate as close.
  • Estimate high and low based on the daily range or volatility.
  • Clearly label the candlestick chart as “daily estimated candles.”
  1. Line chart
  • Add a clean historical line chart showing exchange rate movement over time.
  • Let users choose 7 days, 14 days, 30 days, and 90 days.
  • Use Chart.js or a lightweight chart library through CDN.
  1. Calculator
  • Add a currency converter calculator.
  • Inputs:
    • Amount
    • From currency
    • To currency
  • Output the converted amount instantly.
  • Update the result whenever the user changes amount or currency.
  1. Pattern and trend analysis
  • Detect simple market patterns using JavaScript:
    • Uptrend
    • Downtrend
    • Sideways movement
    • Breakout
    • Volatility spike
    • Moving average crossover
  • Show a short explanation for each detected pattern.
  1. AI insight panel
  • Create an “AI Insight” card.
  • Generate smart, human-readable insights based on the exchange rate data.
  • Do not use a paid AI API.
  • Use rule-based analysis that feels intelligent.
  • Example insights:
    • “USD/PHP is showing mild upward pressure over the last 7 days.”
    • “Volatility is higher than usual, so short-term movement may be unstable.”
    • “The current price is above its 7-day moving average, suggesting bullish momentum.”
  1. Heatmap
  • Add a currency strength heatmap.
  • Compare major currencies such as USD, EUR, GBP, JPY, AUD, CAD, CHF, CNY, SGD, and PHP.
  • Use cool colors only.
  • Use blue, cyan, teal, navy, slate, and soft green tones.
  • Do not use purple.
  • Strong currencies should appear brighter or more saturated.
  • Weak currencies should appear darker or muted.
  1. Light and dark mode
  • Add a toggle for light mode and dark mode.
  • Save the users selected theme using localStorage.
  • Design both themes carefully.
  • Light mode should feel clean and airy.
  • Dark mode should feel professional and finance-focused.
  1. Visual and design requirements
  • Use a modern dashboard layout.
  • Color palette must use cool colors only.
  • Avoid purple completely.
  • Suggested colors:
    • Navy
    • Deep blue
    • Cyan
    • Teal
    • Slate
    • Ice blue
    • Soft mint
  • Use glassmorphism or subtle card shadows.
  • Use rounded cards, clean spacing, and responsive grids.
  • Make it look like a professional fintech dashboard.
  • Add smooth hover states and transitions.
  • Make the dashboard fully responsive for desktop, tablet, and mobile.
  1. UX requirements
  • Add currency selectors for base and target currency.
  • Add loading states while fetching data.
  • Add error handling if the API request fails.
  • Use the fallback API automatically if the primary API fails.
  • Add refresh button.
  • Add last updated timestamp.
  • Make all charts and values update when the selected currencies change.
  1. Technical requirements
  • Put everything in one HTML file.
  • Include HTML, CSS, and JavaScript.
  • Use semantic HTML.
  • Use CSS variables for themes.
  • Use async/await for API calls.
  • Use clean reusable JavaScript functions.
  • Comment important sections of the code.
  • Avoid unnecessary frameworks.
  • CDN libraries are allowed for charts only.
  • The final output should be ready to copy, paste, and run in a browser.

Important:

  • Do not use purple anywhere in the UI.
  • Make the design visually impressive.
  • The dashboard should not be static.
  • It must fetch real exchange-rate data from the provided API.
  • If exact OHLC data is not available, clearly present the candlestick as estimated from daily exchange-rate values.