{"id":21194042,"url":"https://github.com/agapas/react-currency-converter","last_synced_at":"2025-07-10T03:33:22.515Z","repository":{"id":96035550,"uuid":"275589120","full_name":"agapas/react-currency-converter","owner":"agapas","description":"React currency converter - a single page app made with React in functional programming like approach, which uses the exchanged rates API","archived":false,"fork":false,"pushed_at":"2023-11-21T12:05:34.000Z","size":1220,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-11-21T13:48:19.062Z","etag":null,"topics":["currency-converter","ecmascript","enzyme","exchanged-rates-api","functional-programming","jest","react","react-currency-converter","reactjs"],"latest_commit_sha":null,"homepage":"http://agapas.github.io/react-currency-converter","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agapas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-06-28T13:19:29.000Z","updated_at":"2023-11-21T13:48:21.422Z","dependencies_parsed_at":"2023-11-21T13:48:18.831Z","dependency_job_id":null,"html_url":"https://github.com/agapas/react-currency-converter","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agapas%2Freact-currency-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agapas%2Freact-currency-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agapas%2Freact-currency-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agapas%2Freact-currency-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agapas","download_url":"https://codeload.github.com/agapas/react-currency-converter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225615500,"owners_count":17497010,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["currency-converter","ecmascript","enzyme","exchanged-rates-api","functional-programming","jest","react","react-currency-converter","reactjs"],"created_at":"2024-11-20T19:19:18.524Z","updated_at":"2024-11-20T19:19:19.559Z","avatar_url":"https://github.com/agapas.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# react-currency-converter\n\nSimple currency conversion app, which uses exchanged rates API from [exchangeratesapi.io](https://exchangeratesapi.io/). The app is made with React in a Functional Programming like approach. Unit tests are made with Jest and Enzyme.\n\n[Demo](http://agapas.github.io/react-currency-converter)\n\n### A note:\n\nFor the demo website purpose I used mocked data in this repo as since the 1st April 2021, the [exchangeratesapi.io](https://exchangeratesapi.io/) requires an API access key to use the service. You can sign up for a free API key or get the paid one on their website (just keep in mind that the free plan uses the `http` protocol).\n\nWhen you will have the API access key:\n\n- add it to the `.env` file (remember to include the `.env` in `.gitignore`) or alternatively set the environment variable on deployment platform\n- read and use it's value as `API_ACCESS_KEY` variable in the `src/App.js` file\n- in `src/components/DataContorller.js`:\n  - remove `mockData` variable,\n  - in `componentDidMount` method:\n    - remove `this.setState({ data: mockData });`\n    - uncomment `this.loadData()` line\n\n### UI example:\n\n\u003cp align=\"middle\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/agapas/react-currency-converter/master/src/images/exampleUI.jpg\" width=\"800\"/\u003e\n\u003c/p\u003e\n\n### Additional info:\n\nUsed packages:\n\n- [currency-flags](https://github.com/transferwise/currency-flags)\n- [font-awesome](https://github.com/FortAwesome/Font-Awesome)\n- [react-select](https://github.com/JedWatson/react-select)\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n## Running the project\n\n- go to project directory,\n- run `npm i` or `yarn` to install packages (just a first time),\n- run `npm start` or `yarn start` (it runs the app in the development mode and opens [http://localhost:3000](http://localhost:3000) automatically to view in the browser).\n\n## Testing the project\n\nIn the project directory run `npm test`. It launches the test runner in the interactive watch mode.\u003cbr\u003e\nRun `npm coverage` to see coverage report.\n\n## Production build\n\nTo run a production build use command `npm run build` or `yarn build`. It builds the app for production to the build folder.\n\n## License\n\nThis project is licensed under the [MIT] License - see the [LICENSE.md](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagapas%2Freact-currency-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagapas%2Freact-currency-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagapas%2Freact-currency-converter/lists"}