https://github.com/kaan35/crypto-live-order-tracker-api
A real-time cryptocurrency trading platform that provides live order book data and trading capabilities across multiple crypto pairs.
https://github.com/kaan35/crypto-live-order-tracker-api
docker docker-compose expressjs mongodb socket socket-io
Last synced: 3 months ago
JSON representation
A real-time cryptocurrency trading platform that provides live order book data and trading capabilities across multiple crypto pairs.
- Host: GitHub
- URL: https://github.com/kaan35/crypto-live-order-tracker-api
- Owner: kaan35
- Created: 2024-12-30T22:48:05.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-17T14:14:38.000Z (over 1 year ago)
- Last Synced: 2025-03-17T12:47:06.270Z (over 1 year ago)
- Topics: docker, docker-compose, expressjs, mongodb, socket, socket-io
- Language: JavaScript
- Homepage: http://34.136.249.220:3001/trade/btc-usdt
- Size: 44.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Crypto Live Order Tracker
A real-time cryptocurrency trading platform that provides live order book data and trading capabilities across multiple crypto pairs.
## 🌟 Overview
This project consists of two main components:
- [Client Application](https://github.com/kaan35/crypto-live-order-tracker-client) - Next.js React-based frontend
- [API Server](https://github.com/kaan35/crypto-live-order-tracker-api) - Express.js backend
- [Web Structure](https://github.com/kaan35/crypto-live-order-tracker-web) - Docker compose and .env config
## ⭐ Key Features
### Real-time Order Book
- Live buy/sell order listings with price and quantity
- Real-time trade order tracking
### WebSocket Integration
- Socket.io implementation for real-time updates
- Instant order book synchronization
- Live in-app trade notifications notifications about executed trades for subscribed pairs (price, quantity, timestamp).
- Custom pair subscription system
### Trading Features
- Multiple trading pair support like BTC-USDT
- Order actions (buy/sell)
- Trade history tracking
- Real-time order and trade updates
### Technical Features
- Redis caching for optimized database queries
- Responsive design
- Containerized deployment with Docker
- Scalable architecture
## 🛠️ Technology Stack
### Frontend
- **Framework**: React.js with Next.js
- **Language**: TypeScript
- **State Management**: Redux Toolkit
- **Styling**: Tailwind CSS
- **WebSocket**: Socket.io
### Backend
- **Framework**: Express.js
- **Language**: Javascript
- **Database**: MongoDB
- **Caching**: Redis
- **WebSocket**: Socket.io
### DevOps & Tools
- **Code Quality**: ESLint, Prettier
- **Containerization**: Docker & Docker Compose
- **Version Control**: Git
## 🏗️ Installation
### Prerequisites
- Docker and Docker Compose
- Git
- Node.js
### Local Development
- 1. Clone the repository:
`git clone https://github.com/kaan35/crypto-live-order-tracker-api.git && cd crypto-live-order-tracker-api`
- 2. Install dependencies:
`npm install`
- 3. Copy the config and database file and configure:
`cp config.sample.js config.js`
`cp db.sample.js db.js`
- 4. Start the development server:
`npm run start:dev`
- 5. Build and run using Docker Compose:
`docker-compose up -d`
The application will be available at [http://localhost:3000](http://localhost:3000)