COS30049 - Computing Technology Innovation Project
- Node.js 18.0 or higher
- npm or yarn package manager
- Neo4j database
- Git
# Clone the repository
git clone https://github.com/TTMordred/CryptoPath.git
# Navigate to project directory
cd cryptopath
# Install dependencies
npm install
npm install next --legacy-peer-deps
# Set up environment variables
touch .env.localPopulate .env.local with:
ETHERSCAN_API_KEY=YOUR_API_KEY
ETHERSCAN_API_URL=https://api.etherscan.io/api
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your-email@example.com
SMTP_PASSWORD=your-password
# Start the development server
npm run devProject Name: CryptoPath
Description:
CryptoPath is a blockchain transaction visualization system that simplifies blockchain data interpretation through an interactive user interface. It allows users to:
- Enter an Ethereum wallet address to retrieve balance and transaction history.
- Visualize transactions as a directed graph with interactive nodes.
- Navigate transaction paths dynamically.
- View transaction details in a structured table with export options.
- Leverage a graph database (currently using static demo data) for efficient data storage and retrieval.
- Le Nguyen Dang Duy (105028557) - Frontend Lead / Graph Visualization
- Phan Cong Hung (104995595) - Backend & Data Integration Lead
- Nguyen Minh Duy (104974743) - Full-Stack Developer / UI & UX
- Next.js 14 with TypeScript
- Tailwind CSS & Shadcn/ui components
- React-based visualization
- Theme support (light/dark mode)
- RESTful API for blockchain data retrieval
- Data transformation & caching
- Authentication & rate limiting
- Neo4j for transaction relationship mapping
- Optimized queries for path discovery
- Caching & indexing for efficient lookups
- Ethereum blockchain API
- WebSocket for real-time updates
- Robust error handling & data validation
- Responsive & accessible UI
- Interactive transaction graph
- Enhanced navigation & visualization
- Address lookup & validation
- Balance & transaction history
- Token holdings tracking
- Interactive node-edge visualization
- Zoom, pan, filtering, and path tracing
- Sortable & searchable data
- Export (CSV) & quick-copy features
- Efficient graph schema
- Caching & performance optimizations
- Real-time data integration & multi-chain support
- 3D visualization & pattern recognition
- User-customizable alerts & annotations
- Performance & security optimizations
- Authentication & rate limits
- Endpoint descriptions & error handling
Refer to CONTRIBUTING.md for guidelines on submitting pull requests.
This project is licensed under the MIT License. See LICENSE.md for details.
- Ethereum blockchain community
- Neo4j graph database
- Next.js framework
- Shadcn/ui components