Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hollali/e-coinvault
https://github.com/hollali/e-coinvault
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hollali/e-coinvault
- Owner: hollali
- Created: 2024-10-04T01:44:10.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-10-23T14:34:23.000Z (3 months ago)
- Last Synced: 2024-10-23T16:22:17.370Z (3 months ago)
- Language: JavaScript
- Size: 874 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
---
# Cryptocurrency Exchange & Market
Welcome to the **Cryptocurrency Exchange & Market** project! This platform enables users to trade, buy, and sell various cryptocurrencies securely and efficiently. The exchange offers real-time market data, user-friendly interfaces, and powerful features for both novice and expert traders.
## Table of Contents
- [Features](#features)
- [Tech Stack](#tech-stack)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [Security](#security)
- [Contributing](#contributing)
- [License](#license)## Features
- **User Registration & Authentication**: Secure user registration with email verification and two-factor authentication (2FA).
- **Live Market Data**: Real-time prices, charts, and trends for major cryptocurrencies.
- **Trading**: Buy, sell, and trade cryptocurrencies using market, limit, and stop-limit orders.
- **Wallet Management**: Secure digital wallets to store and manage multiple cryptocurrencies.
- **Deposit/Withdrawal**: Supports deposit and withdrawal functionality in fiat and cryptocurrencies.
- **Transaction History**: Track past trades, deposits, and withdrawals.
- **Admin Dashboard**: Manage users, view platform analytics, and monitor system activities.
## Tech Stack
- **Frontend**: React.js, Tailwind CSS, TypeScript
- **Backend**: Node.js, Express.js, TypeScript
- **Database**: MongoDB for user and transaction data
- **Real-Time Data**: WebSocket for live updates
- **Security**: JWT for authentication, bcrypt for password hashing
- **Payment Gateway**: Integration with payment processors for fiat transactions## Installation
### Prerequisites
- **Node.js** v18.x or higher
- **MongoDB** v6.x or higher
- **Git** for cloning the repository### Steps
1. **Clone the repository**
```bash
git clone https://github.com/hollali/e-coinvault.git
cd crypto-exchange-main
```2. **Install dependencies**
```bash
npm install
```3. **Set up environment variables**
- Create a `.env` file in the project root and configure the following variables:
```bash
MONGO_URI=your-mongodb-uri
JWT_SECRET=your-jwt-secret
API_KEY=your-api-key
PAYMENT_GATEWAY_API=your-payment-gateway-api-key
```4. **Run the application**
```bash
npm run dev
```5. **Open the app**
Navigate to `http://localhost:3000` in your browser to access the platform.## Configuration
- **Database**: Ensure MongoDB is running locally or on a cloud service like MongoDB Atlas. Update `MONGO_URI` in the `.env` file with your database connection string.
- **API Keys**: Some features (e.g., real-time market data, payment gateways) require API keys. You can obtain these from providers such as CoinGecko or Binance API.## Usage
### User Features
- **Sign Up / Sign In**: Users can register, verify their email, and sign in with 2FA protection.
- **Deposit**: Deposit funds into the platform via supported cryptocurrencies or fiat currency.
- **Market Overview**: View live prices of major cryptocurrencies, filter by volume, or market cap.
- **Buy/Sell**: Execute market or limit orders for various cryptocurrencies.
- **Transaction History**: Users can track all previous trades, deposits, and withdrawals.### Admin Features
- **User Management**: View and manage registered users, reset passwords, or ban accounts.
- **System Monitoring**: Check platform statistics, uptime, and error logs from the admin dashboard.## Security
- **Password Encryption**: User passwords are hashed using bcrypt.
- **JWT Authentication**: Token-based authentication is implemented for all routes.
- **SSL/TLS**: Ensure HTTPS is enabled in production for secure data transmission.
- **2FA**: Users can enable two-factor authentication to add an extra layer of security.## Contributing
We welcome contributions to improve this platform. To contribute:
1. Fork the repository.
2. Create a new feature branch.
3. Commit your changes.
4. Push the branch and submit a Pull Request.Please ensure that your code adheres to the project's coding standards and includes relevant tests.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
---