Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Comments

Task implementation#32

Open
NazarPashazade wants to merge 4 commits intoDishboard:main from
NazarPashazade:task-implementation
Open

Task implementation #32
NazarPashazade wants to merge 4 commits intoDishboard:main from
NazarPashazade:task-implementation

Conversation

@NazarPashazade
Copy link

@NazarPashazade NazarPashazade commented Dec 30, 2024
edited
Loading

Backend Development: http://localhost:4001/graphql

Docker Update:

Configured a pgAdmin container for database administration, accessible via a web interface (db-create.sh)

API Integration:

Integrated with the external CNB API (Swagger(https://api.cnb.cz/cnbapi/swagger-ui.html)) to fetch exchange rates.

Designed a dynamic request system that supports fetching rates for a given date, including precise time down to minutes and
seconds for accurate tracking.

GraphQL Implementation:

Defined a GetExchangeRates GraphQL query to provide exchange rate data, including fields such as country, currency,
amount, currencyCode, and rate.

Caching Mechanis:

Implemented a caching layer to minimize frequent API calls and enhance performance.

Database Change: http://localhost:8080/browser

Table "exchange_rate"s created to store exchange rate data, with fields such as:
validFor
country
currency
amount
currencyCode
rate
Additional metadata.

Added Migration scripts to efficiently manage database schema evolution.

Frontend Development: http://localhost:5173/exchange-rates

Table Display
Developed a dynamic table to display exchange rates using Material-UI (MUI) for responsive and visually appealing
components. Columns include Country, Currency, Amount, Currency Code, and Rate.

"Last Fetched" Display
Designed a feature to show how recently the data was fetched, e.g., "Last fetched 5 minutes ago".
Added real-time tracking of the elapsed time using React hooks, ensuring updates without needing a page refresh.

Error Handling
Integrated error handling for failed GraphQL queries and missing data. Displayed meaningful messages to improve user
experience during issues like API unavailability.

Responsive Design
Ensured the frontend is responsive and accessible on various devices.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /