A modern, full-stack cryptocurrency trading platform built with React TypeScript frontend and Django REST API backend. This platform provides real-time cryptocurrency prices, trading capabilities, wallet management, and educational content for crypto enthusiasts.
- Real-time Crypto Market Cards - Live cryptocurrency price updates
- Online Price Calculator - Convert between different cryptocurrencies
- Educational Content - Learn about cryptocurrency trading
- News Section - Latest crypto market news and updates
- Digital Wallet Information - Secure wallet management details
- FAQ Section - Frequently asked questions about crypto trading
- Buy/Sell Cryptocurrencies - Execute trades with real-time pricing
- Crypto Exchange - Convert between different cryptocurrencies
- Wallet Management - Track your crypto holdings and balances
- Transaction History - Complete record of all trading activities
- Real-time Charts - Interactive price charts using Chart.js
- Live Price Updates - Real-time cryptocurrency prices
- Market Cap Information - Comprehensive market data
- Price Alerts - Stay informed about price movements
- Historical Data - Track price performance over time
- JWT Authentication - Secure user authentication
- User Profiles - Manage personal information and preferences
- Secure Transactions - Protected trading operations
- React 18 - Modern React with hooks and functional components
- TypeScript - Type-safe JavaScript development
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- React Router - Client-side routing
- Zustand - Lightweight state management
- SWR - Data fetching and caching
- Chart.js - Interactive charts and graphs
- React Hook Form - Form handling and validation
- React Hot Toast - User notifications
- Axios - HTTP client for API requests
- Django 4.x - Python web framework
- Django REST Framework - API development
- Django JWT - JSON Web Token authentication
- Django Jalali - Persian calendar support
- SQLite - Database (can be easily migrated to PostgreSQL/MySQL)
- Pipenv - Python dependency management
- ESLint - Code linting
- Jest - Testing framework
- TypeScript - Type checking
- PostCSS - CSS processing
CryptoCurrency/
โโโ frontend/ # React TypeScript frontend
โ โโโ src/
โ โ โโโ api/ # API integration
โ โ โโโ assets/ # Static assets
โ โ โโโ components/ # Reusable components
โ โ โโโ config/ # Configuration files
โ โ โโโ hooks/ # Custom React hooks
โ โ โโโ layout/ # Layout components
โ โ โโโ pages/ # Page components
โ โ โโโ routes/ # Routing configuration
โ โ โโโ store/ # State management
โ โ โโโ utils/ # Utility functions
โ โ โโโ __test__/ # Test files
โ โโโ public/ # Public assets
โ โโโ package.json # Frontend dependencies
โโโ backend/ # Django REST API
โ โโโ apps/
โ โ โโโ users/ # User management app
โ โ โโโ transactions/ # Trading functionality
โ โโโ core/ # Django settings
โ โโโ manage.py # Django management
โ โโโ Pipfile # Python dependencies
โโโ README.md # This file
- Node.js (v16 or higher)
- Python (3.12)
- npm or yarn
- pipenv
-
Navigate to the backend directory:
cd backend -
Install Python dependencies:
pip install pipenv pipenv install --dev
-
Activate the virtual environment:
pipenv shell
-
Run database migrations:
pipenv run python manage.py migrate
-
Create a superuser (optional):
pipenv run python manage.py createsuperuser
-
Start the Django development server:
pipenv run python manage.py runserver
The backend API will be available at
http://localhost:8000
-
Navigate to the frontend directory:
cd frontend -
Install Node.js dependencies:
npm install
-
Start the development server:
npm run dev
The frontend application will be available at
http://localhost:5173
POST /api/auth/login/- User loginPOST /api/auth/register/- User registrationPOST /api/auth/refresh/- Refresh JWT token
GET /api/users/profile/- Get user profilePUT /api/users/profile/- Update user profile
GET /api/wallet/- Get user walletPOST /api/transactions/buy/- Buy cryptocurrencyPOST /api/transactions/sell/- Sell cryptocurrencyPOST /api/transactions/exchange/- Exchange cryptocurrenciesGET /api/transactions/history/- Get transaction history
GET /api/cryptocurrencies/- Get available cryptocurrenciesGET /api/prices/- Get real-time prices
cd frontend
npm testcd backend
pipenv run python manage.py testcd frontend
npm run buildThe Django backend can be deployed using:
- Docker (recommended)
- Heroku
- AWS
- DigitalOcean
Create a .env file in the backend directory:
SECRET_KEY=your-secret-key
DEBUG=False
ALLOWED_HOSTS=your-domain.com
DATABASE_URL=your-database-urlUpdate API endpoints in frontend/src/config/api.ts for production deployment.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some 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.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the development team
- Mobile app development
- Advanced trading features (stop-loss, limit orders)
- Social trading features
- Multi-language support
- Dark mode theme
- Advanced analytics and reporting
- Integration with more exchanges
- DeFi protocol integration
Built with โค๏ธ using React, TypeScript, and Django