Ethereum Tracker is a web application designed to track Ethereum transactions and prices. The application includes both a frontend and a backend. The backend handles API requests and data processing, while the frontend provides an intuitive interface for users to interact with the data.
The frontend of the Ethereum Tracker is built with Vite and React. It provides a user-friendly interface for displaying Ethereum transactions and prices.
- React: JavaScript library for building user interfaces.
- Vite: Build tool that provides a fast development environment.
- Tailwind CSS: Utility-first CSS framework for styling.
-
Clone the repository:
git clone <repository-url>
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open your browser and go to
http://localhost:5173to view the application.
To create a production build of the frontend:
npm run buildThe production build will be available in the dist directory.
The backend of the Ethereum Tracker is built with Node.js and Express. It handles API requests, connects to MongoDB, and manages rate limiting and request counting.
- Node.js: JavaScript runtime built on Chrome's V8 engine.
- Express: Web application framework for Node.js.
- MongoDB: NoSQL database for storing transaction and price data.
- Mongoose: ODM library for MongoDB and Node.js.
- dotenv: Loads environment variables from a
.envfile. - cors: Middleware for enabling CORS.
- express-rate-limit: Middleware for rate limiting.
-
Clone the repository:
git clone <repository-url>
-
Navigate to the backend directory:
cd backend -
Install dependencies:
npm install
-
Create a
.envfile and add your MongoDB URI:MONGO_URI=<your-mongodb-uri> PORT=3000
-
Start the backend server:
npm start
- GET /api/transactions/:address: Fetch transactions for a given Ethereum address.
- GET /api/eth-price: Fetch and store the current Ethereum price.
- GET /api/user-expenses/:address: Get user expenses based on transactions.
You can test the backend using tools like Postman or cURL.
If you'd like to contribute to the Ethereum Tracker project, please follow these steps:
-
Fork the repository.
-
Create a new branch for your feature or bug fix:
git checkout -b my-feature
-
Make your changes and commit them:
git commit -am 'Add new feature' -
Push your branch to your forked repository:
git push origin my-feature
-
Create a pull request to the main repository.