Skip to content

idlefor/React-Currency-Exchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 React Codility Practice Suite

A high-performance React dashboard designed to demonstrate technical proficiency in modern frontend development. This project serves as a comprehensive showcase of state management, API integration, and responsive UI architecture.


image image

🚀 Key Features

The application is built into six modular sections, each highlighting a core React competency:

  1. Counter Module: Demonstrates precise state manipulation and functional updates using useState.
  2. Global Currency Selector: Real-time integration with ExchangeRate-API (V6) to handle dynamic data for 160+ world currencies.
  3. English Feed (GET): Implementation of asynchronous data fetching using fetch and useEffect, featuring robust loading states and English content from DummyJSON.
  4. CRUD Manager: A sophisticated data management interface supporting Create, Read, Update, and Delete operations with persistent local state updates.
  5. Controlled Forms: Managed input handling with POST request simulation.
  6. Conditional UI Logic: Efficient toggle patterns for dynamic content visibility.

📸 Project Showcase

Dashboard Overview

The dashboard utilizes a CSS Grid layout to maintain a clean, professional aesthetic across all devices.

Interactive CRUD & API Feed

Focusing on data integrity and user experience, the feed displays real-time content with optimized text formatting.


🛠️ Tech Stack & Skills

  • Core: React.js (Functional Components & Hooks)
  • Data Fetching: Async/Await, Promises, and REST API integration
  • Styling: Modern CSS (Flexbox, Grid, CSS Variables)
  • Architecture: Clean code principles, separation of concerns (CSS-in-JS to external stylesheets)
  • Data Handling: JSON parsing and optional chaining for error prevention

💡 Engineering Highlights

  • Error Resilience: Implemented optional chaining (?.) and fallback data arrays to ensure the UI remains stable even if API data is malformed.
  • Maintainability: Refactored from inline styles to a centralized App.css architecture to follow industry-standard "Separation of Concerns."
  • Efficiency: Used Object.keys mapping for dynamic dropdown generation and optimized the React lifecycle to prevent unnecessary re-render

About

A high-performance React dashboard designed to demonstrate technical proficiency in modern frontend development.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors