Skip to content

lucasportella/crypto-list

Repository files navigation

Crypto List

This project aims to fetch the most valuated cryptos in the market and provide the option for the user to connect his wallets and show it's balances.

Development

Although very small and simple, I decided to use Redux for state management since it's been a long time that I have used that library and it was my first contact to the toolkit. Simple CSS styles through Tailwind, which is a very easy to learn but powerful library. Coin Gecko API was used to fetch data. To connect to Ethereum wallets I used the most recent protocol which is the EIP 6963. No libraries like Web3 js were used to handle the connection to the crpyto Networks, only ethers lib was used once to decode the balance response. Vitest and RTL were used for tests.

How to run

This app is deployed at https://crypto-list-omega.vercel.app/

If you want to run on your computer the steps are:

  • Install node
  • git clone the repository
  • go to the src folder
  • npm install
  • npm run dev
  • bonus: create Coin Gecko API Key and add it to the .env file so it avoids getting your browser blocked from fetching data

Features

  • Shows top 10 crypto with refresh button
  • Crypto details page with chart
  • Connect any Ethereum wallet through the EIP 6963 protocol (supports multi wallet)
  • Shows user Ethereum balance

Details page with chart

image

Multi Wallet implementation

image

Tech Stack File

lucasportella/crypto-list

28
Tools used
03/22/24
Report generated

Languages (3)

TypeScript
TypeScript
CSS 3
CSS 3
JavaScript
JavaScript

Frameworks (7)

Autoprefixer
Autoprefixer
PostCSS
PostCSS
React
React
v18.2.0
React Router
React Router
v6.22.3
Recharts
Recharts
Redux
Redux
v5.0.1
Tailwind CSS
Tailwind CSS

DevOps (5)

ESLint
ESLint
Git
Git
Vite
Vite
jsdom
jsdom
v24.0.0
npm
npm

Open source packages (13)

npm (13)

NAME VERSION LAST UPDATED LAST UPDATED BY LICENSE VULNERABILITIES
@testing-library/jest-dom v6.4.2 03/22/24 lucas MIT N/A
@testing-library/react v14.2.2 03/22/24 lucas MIT N/A
@types/react v18.2.66 03/22/24 lucas MIT N/A
@types/react-dom v18.2.22 03/22/24 lucas MIT N/A
@typescript-eslint/eslint-plugin v7.2.0 03/15/24 lucas MIT N/A
@typescript-eslint/parser v7.2.0 03/15/24 lucas BSD-2-Clause N/A
eslint-plugin-react-hooks v4.6.0 03/22/24 lucas MIT N/A
ethers v6.11.1 03/18/24 Lucas Portella MIT N/A
react-dom v18.2.0 03/22/24 lucas MIT N/A
react-redux v9.1.0 03/22/24 lucas MIT N/A
react-router-dom v6.22.3 03/22/24 lucas MIT N/A
tailwindcss v3.4.1 03/17/24 lucas MIT N/A
vite v5.1.6 03/22/24 lucas N/A N/A

Generated via Stack File