A simplified dashboard for crypto trading automation - an open-source clone of CoinRule with comprehensive features for strategy creation, backtesting, and portfolio management.
- Real-time market data display
- Portfolio overview with key metrics
- Interactive Bitcoin price charts (30-day historical data)
- Quick action buttons for common tasks
- Market status indicators
- Predefined Strategies: Ready-to-use trading strategies including:
- Buy Low Sell High
- RSI Oversold/Overbought
- Moving Average Crossover
- Custom Strategy Creation: Build your own strategies with:
- Custom buy/sell conditions
- Risk level configuration
- Strategy description and naming
- Strategy Categories: Momentum, Technical Analysis, Trend Following
- Paper Trading: Risk-free trading simulation
- Real-time Portfolio Tracking:
- Cash balance monitoring
- Active positions overview
- Trade history with detailed records
- Multi-Asset Support: Bitcoin, Ethereum, Cardano, Polkadot
- Trade Execution: Simple buy/sell interface with instant execution
- Strategy Performance Analysis:
- Total return calculation
- Win rate statistics
- Maximum drawdown analysis
- Sharpe ratio computation
- Visual Analytics:
- Portfolio value charts
- Performance metrics visualization
- Trade history analysis
- Configurable Parameters:
- Custom date ranges
- Initial balance settings
- Multiple cryptocurrency symbols
- Node.js with Express.js
- RESTful API architecture
- Mock data for demonstration (easily extensible to real crypto APIs)
- CORS enabled for frontend integration
- React 18 with functional components and hooks
- React Router for navigation
- Chart.js with react-chartjs-2 for data visualization
- Responsive CSS with modern design patterns
- Lucide React for icons
axiosfor HTTP requestswsfor WebSocket support (ready for real-time data)dotenvfor environment configurationcorsfor cross-origin resource sharing
- Node.js (v14 or higher)
- npm or yarn package manager
-
Clone the repository
git clone https://github.com/gelimorto2/cryptorules.git cd cryptorules -
Install dependencies
npm run install-all
-
Start the application
npm run dev
This will start both the backend server (port 5000) and frontend development server (port 3000).
Backend only:
npm install
npm run serverFrontend only:
cd client
npm install
npm startProduction build:
npm run build
npm startGET /api/health- Health checkGET /api/market/:symbol- Current market dataGET /api/historical/:symbol- Historical price data
GET /api/strategies/predefined- Get predefined strategiesGET /api/strategies/user- Get user-created strategiesPOST /api/strategies- Create new strategy
GET /api/portfolio- Get portfolio dataPOST /api/trade- Execute trade (paper trading)
POST /api/backtest- Run strategy backtest
Create a .env file in the root directory:
PORT=5000
NODE_ENV=developmentThe application is designed to easily integrate with real crypto APIs. Update the market data endpoints in server/index.js to connect with:
- CoinGecko API
- Binance API
- CoinMarketCap API
- Other cryptocurrency data providers
- Risk-free environment for testing strategies
- Real-time portfolio tracking with balance updates
- Comprehensive trade history with timestamps and details
- Multi-asset support for diversified portfolios
- Visual strategy builder with form-based interface
- Condition-based logic for buy/sell triggers
- Risk assessment with low/medium/high classifications
- Strategy categorization for better organization
- Historical performance analysis with configurable date ranges
- Statistical metrics including Sharpe ratio and drawdown analysis
- Visual results with charts and performance indicators
- Trade simulation with detailed transaction logs
- Basic dashboard with market data
- Strategy management system
- Paper trading functionality
- Backtesting with charts
- Real crypto broker integration
- Live trading capabilities
- Advanced technical indicators
- Strategy automation
- Social trading features
- Strategy marketplace
- Mobile application
- Advanced analytics dashboard
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This software is for educational and simulation purposes only. It includes paper trading functionality and should not be used for actual financial trading without proper risk assessment and testing. Always consult with financial advisors before making real trading decisions.
For support, please open an issue on GitHub or contact the development team.
Made with β€οΈ by the CryptoRules Team


