4.8 KiB
4.8 KiB
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:
- 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.”
- 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.
- 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.”
- 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.
- 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.
- 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.
- 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.”
- 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.
- Light and dark mode
- Add a toggle for light mode and dark mode.
- Save the user’s selected theme using localStorage.
- Design both themes carefully.
- Light mode should feel clean and airy.
- Dark mode should feel professional and finance-focused.
- 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.
- 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.
- 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.