Title: Web application to obtain information about cryptocurrencies in USD
Date: 2023-11-08
Authors: Brayan Camargo
Install dependencies:
npm install
# or
yarn
Run the development server:
npm run dev
# or
yarn dev
Open http://localhost:3000 with your browser to see the result.
npm run test
# or
yarn test
https://cryptousd.brayancamargo.dev/
An enormous real estate company is going to be required to create a web application to obtain information about crypto currencies in USD, but the governance decided to use the default currency in EEUU. You make a list of crypto currencies, show the exchange to USD, filter the list by currency and show details.
Please use this endpoint for access to information. https://www.coinlore.com/cryptocurrency-data-api
- Node v18
- Next.js 14
- TypeScript
- React.js
- Vercel
The web application meets the requirements of the test statement. It is capable of displaying a list of cryptocurrencies, the exchange rate to USD, filtering the list by currency, and displaying details.
The application was developed using Next.js 14 with Server Side Rendering (SSR). SSR allows the server side to render the entire HTML page, including the cryptocurrency data, before sending it to the client browser. This results in faster initial page loading and a better user experience, especially for users with low-speed Internet connections.
https://cryptousd.brayancamargo.dev/
The results corresponding to the performance tests with different tools are attached:
The performance tests for mobile devices obtained the following results:
You can check it by entering the following link:https://pagespeed.web.dev/analysis/https-cryptousd-brayancamargo-dev/6y0o47lgrm?form_factor=mobile
The performance tests for mobile devices obtained the following results:
You can check it by entering the following link:https://pagespeed.web.dev/analysis/https-cryptousd-brayancamargo-dev/6y0o47lgrm?form_factor=desktop
A more detailed report about these results can be found at the following link:https://gtmetrix.com/reports/cryptousd.brayancamargo.dev/jFwjfF6Q/
The following improvements could be made to further improve the performance and functionality of the application:
- Using Cache for Cryptocurrency Data: The application could implement a caching mechanism to store cryptocurrency data, reducing the need for frequent API requests and improving performance.
- Improved filters: By implementing the aforementioned improvement, an improvement could be made in the filters that areapply currently in the information, since it could be filtered directly on the complete data and not on the partial data provided by the api.
- Implementation ofevidence End-to-End (E2E): Add end-to-end tests to verify the complete operation of the application and ensure the integrity of the features from the end-user perspective.