zehan12 / carbon-cell-frontend-task

Home Page:https://carboncell-ten.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Carbon Cell Platform

Hosted Link πŸ”—: https://carboncell-ten.vercel.app

This project showcases the completion of tasks as part of a web development assessment. Each task focuses on implementing specific features and functionalities using React JS and relevant libraries.

Task 1: Side Navigation Bar

Objective:

  • Implement a responsive side navigation bar with at least three navigation items. The navigation bar should collapse into a hamburger menu on smaller screens and highlight the active navigation item.

Screenshot-from-2024-04-02-02-11-51.png

Screenshot-from-2024-04-02-02-11-41.png

Screenshot-from-2024-04-02-02-12-30.png

Screenshot-from-2024-04-02-02-12-25.png

Task 2: Graph Population Data

Objective:

  • Fetch population data from the provided API and create a graph using React JS and Chart.js library. The graph should display population data for different nations with appropriate labels, legends, and axis titles.

Screenshot-from-2024-04-02-02-35-07.png

Screenshot-from-2024-04-02-02-36-25.png

Screenshot-from-2024-04-02-02-37-46.png

Task 3: Display Cryptocurrency Prices

Objective:

  • Fetch cryptocurrency prices from the provided API and display them in visually appealing cards. Prices of Bitcoin should be displayed in multiple currencies (e.g., USD and Euro) using React JS and asynchronous data fetching techniques.

Screenshot-from-2024-04-02-02-40-17.png

Screenshot-from-2024-04-02-02-38-30.png

Screenshot-from-2024-04-02-02-38-37.png

Task 4: Integrate MetaMask Wallet

Objective:

  • Implement a feature to connect the MetaMask wallet using Web3 JS library. Display appropriate feedback/messages for successful/unsuccessful wallet connection attempts and ensure compatibility with modern browsers and MetaMask extension.

Screenshot-from-2024-04-02-02-41-20.png

Screenshot-from-2024-04-02-02-41-42.png

Screenshot-from-2024-04-02-02-43-54.png

Screenshot-from-2024-04-02-02-44-27.png

Technology Stack

  • HTML5
  • CSS3
  • JavaScript (ES6+)
  • ReactJS

Development

To get a local copy of the code, clone it using git:

git clone https://github.com/zehan12/carbon-cell-frontend-task.git
cd carbon-cell-frontend-task

Install dependencies:

npm install

Now, you can start a local web server by running:

npm run dev

And then open http://localhost:5173 to view it in the browser.

Folder Structure

.
β”œβ”€β”€ index.html
β”œβ”€β”€ package.json
β”œβ”€β”€ package-lock.json
β”œβ”€β”€ postcss.config.js
β”œβ”€β”€ public
β”‚   β”œβ”€β”€ assets
β”‚   β”‚   β”œβ”€β”€ carbonCell.png
β”‚   β”‚   └── MetaMask_Fox.png
β”‚   β”œβ”€β”€ favicon.ico
β”‚   └── vite.svg
β”œβ”€β”€ readme.md
β”œβ”€β”€ src
β”‚   β”œβ”€β”€ App.tsx
β”‚   β”œβ”€β”€ assets
β”‚   β”‚   └── react.svg
β”‚   β”œβ”€β”€ components
β”‚   β”‚   β”œβ”€β”€ CryptoCurrency
β”‚   β”‚   β”‚   β”œβ”€β”€ CryptoLoding.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ CyptoCard.tsx
β”‚   β”‚   β”‚   └── index.tsx
β”‚   β”‚   β”œβ”€β”€ Greeting
β”‚   β”‚   β”‚   └── index.tsx
β”‚   β”‚   β”œβ”€β”€ Home
β”‚   β”‚   β”‚   β”œβ”€β”€ HomeCard.tsx
β”‚   β”‚   β”‚   └── index.tsx
β”‚   β”‚   β”œβ”€β”€ index.ts
β”‚   β”‚   β”œβ”€β”€ Population
β”‚   β”‚   β”‚   └── index.tsx
β”‚   β”‚   β”œβ”€β”€ Sidebar
β”‚   β”‚   β”‚   β”œβ”€β”€ index.tsx
β”‚   β”‚   β”‚   └── MobileMenu.tsx
β”‚   β”‚   └── Wallet
β”‚   β”‚       β”œβ”€β”€ index.tsx
β”‚   β”‚       └── WalletDetailCard.tsx
β”‚   β”œβ”€β”€ constants
β”‚   β”‚   β”œβ”€β”€ api.ts
β”‚   β”‚   └── routes.ts
β”‚   β”œβ”€β”€ index.css
β”‚   β”œβ”€β”€ main.tsx
β”‚   β”œβ”€β”€ routes
β”‚   β”‚   └── index.tsx
β”‚   β”œβ”€β”€ services
β”‚   β”‚   └── api.ts
β”‚   β”œβ”€β”€ types
β”‚   β”‚   └── index.d.ts
β”‚   β”œβ”€β”€ utils
β”‚   β”‚   └── general.utils.ts
β”‚   └── vite-env.d.ts
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ tsconfig.node.json
└── vite.config.ts

Libraries and Dependencies

Library Description
React Utilize React to build out a well-designed front-end experience.
React Router Use React Router for client-side routing
Axios Use for fetch data from API
react-hot-toast Utilize Toaster to show notification of error and message
Tailwind CSS Utilize Tailwind to style all react components
lucide-react Use for showing icons
React Apex Chart Use for showing charts data in charts

Contributions

Any feature requests and pull requests are welcome!

Show your support

Give a ⭐️ if this project helped you!

License

The project is under MIT license.

Author

@zehan12

About

https://carboncell-ten.vercel.app


Languages

Language:TypeScript 95.6%Language:JavaScript 3.1%Language:HTML 1.2%Language:CSS 0.2%