Stone Currency is a web application developed to facilitate the conversion of monetary values from US dollars to Brazilian reals. With a friendly and intuitive interface, the application allows users to quickly obtain the updated value of their foreign currency in Brazilian reals.
Upon opening the application, the user is presented with two input fields, where they can enter the value they want to convert and the exchange rate of the state. The application is updated in real time, with exchange rates updated from reliable sources, ensuring that the displayed value is accurate and updated every 30 seconds.
- Use React
- Use TypeScript
- Create an HTTP client with axios
- Use a caching library such as swr or react-query
- Use styled-components
- Faithfully clone the project layout available in Figma
- Write unit tests for the components
- Publish the application on a fast deployment platform such as vercel, heroku, netlify or similar
- Vite for the build and development of the application.
- React for build the user interface.
- TypeScript for data typing.
- Styled Components for styling components.
- Axios communication with the API.
- Tanstack React Query for data caching and state management.
- React Hook Form for form validation.
- Zod for data validation.
- React Router for navigation between pages.
- Vitest for unit tests.
- React Testing Library for simulating events and interactions with the interface.
The application is available for public access at: the-stone-currency.vercel.app
To run the application, you need to have Node.js installed on your computer. After that, just clone the repository, enter the application directory and use the following commands in your terminal:
# Installing dependencies
$ npm install
# Executing the application
$ npm run dev
To run the tests, just use the following command in the terminal:
# Executing the tests
$ npm run test
To generate and run the application build, just use the following command in the terminal:
# Generate the application build
$ npm run build
# Run the application build preview
$ npm run preview
😁 Project developed by Erick Nathan.