CryptoPortfolioTracker is a modern, responsive cryptocurrency portfolio tracker designed for enthusiasts and developers who want to keep track of their blockchain investments. It offers features like wallet integration, portfolio visualization, and transaction history analysis.
-
📈 Portfolio Dashboard:
- View your holdings in real-time with charts and data breakdowns.
- Get token prices and overall portfolio value.
-
🔗 Wallet Integration:
- Connect wallets using MetaMask or WalletConnect.
- Import multiple wallets and track balances.
-
💳 Transaction History:
- View detailed transaction history for each wallet.
- Filter and search transactions.
-
📃 APIs:
- RESTful APIs for programmatic access to portfolio data.
- Backend: FastAPI, PostgreSQL, Web3.py
- Frontend: React, Axios, Web3.js, Chart.js
- Deployment: Docker, GitHub Actions
CryptoPortfolioTracker/
├── backend/ # Backend code (FastAPI)
│ ├── app/ # Core application logic
│ │ ├── main.py # API entry point
│ │ ├── routes.py # API routes
│ │ ├── models.py # Database models
│ │ ├── database.py # Database connection
│ │ └── utils.py # Helper functions
│ ├── requirements.txt # Backend dependencies
│
├── frontend/ # Frontend code (React)
│ ├── public/ # Static files
│ ├── src/ # Source code
│ │ ├── components/ # Reusable React components
│ │ ├── utils/ # API communication and helpers
│ │ └── App.js # Main app file
│ ├── package.json # Frontend dependencies
│
├── docs/ # Documentation
│ ├── architecture.md # System architecture
│ ├── api_docs.md # API documentation
│
├── scripts/ # Deployment and startup scripts
│ ├── deploy.sh
│ └── start.sh
├── README.md # Project overview
- Node.js and npm
- Python (3.8 or later)
- Docker (optional)
-
Clone the Repository:
git clone https://github.com/<your-username>/CryptoPortfolioTracker.git cd CryptoPortfolioTracker
-
Backend Setup:
- Navigate to the backend directory:
cd backend
- Install dependencies:
pip install -r requirements.txt
- Start the backend server:
uvicorn app.main:app --reload
- Navigate to the backend directory:
-
Frontend Setup:
- Navigate to the frontend directory:
cd ../frontend
- Install dependencies:
npm install
- Start the frontend server:
npm start
- Navigate to the frontend directory:
-
Access the App:
- Frontend: http://localhost:3000
- Backend: http://localhost:8000
- Fork the repository.
- Create your feature branch:
git checkout -b feature/AmazingFeature
. - Commit your changes:
git commit -m 'Add some AmazingFeature'
. - Push to the branch:
git push origin feature/AmazingFeature
. - Open a pull request.
This project is licensed under the MIT License.
Happy Tracking! 🚀