π Live Bitcoin Index Monitoring: Continuously tracks key Bitcoin metrics such as price, volume, market trends, and technical indicators.
π§ Email Notifications: Sends timely updates and alerts to subscribed users when important thresholds are reached or anomalies are detected.
π€ AI-Powered Crypto Chatbox: Users can interact with an intelligent chatbot to ask questions about cryptocurrencies, market trends, or trading strategies. The chatbox uses up-to-date financial data and machine learning to provide informed and relevant responses.
BitStream aims to empower traders, investors, and enthusiasts with fast, accurate, and personalized crypto intelligenceβanytime, anywhere.
- π Google Login & Email Verification: OAuth2 authentication with Google and secure email-based signup verification for new users.
- β±οΈ Background Threshold Alerts with RedisJobStore: Uses RedisJobStore + APScheduler to periodically check whether Bitcoin price crosses a predefined threshold. Users are notified via email when important conditions are met.
- π§ Automatic Real-Time Training: The system automatically fetches and trains on real-time data from Binance at scheduled intervals to improve the chatbotβs accuracy.
- π¬ AI-Powered Chatbox (RAG + FAISS): The integrated chatbot uses Retrieval-Augmented Generation (RAG) and FAISS to retrieve and generate crypto-related responses. It ensures the conversation stays within allowed crypto-related topics.
This project includes both a Next.js frontend and a FastAPI backend. The following environment variables are required for development and production setup.
Create a .env.local file in the frontend/ directory and add the following:
# Base API URL to communicate with FastAPI backend
NEXT_PUBLIC_BASE_API_URL=http://127.0.0.1:8000/api
# Google OAuth2 credentials (used with NextAuth.js)
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# NextAuth configuration
NEXTAUTH_SECRET=your-random-secret-key
NEXTAUTH_URL=http://localhost:3000
Create a .env file in the backend/ directory and add the following:
# PostgreSQL database URL
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/dataops_db
# Google OAuth2 credentials for authentication
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
# JWT security
ALGORITHM=HS256
SECRET_KEY=your-secret-key
# Email SMTP settings (for sending verification & alerts)
EMAIL_ADDRESS=your-email@gmail.com
EMAIL_PASSWORD=your-app-password
# Redis settings (used with APScheduler + JobStore)
HOST_REDIS=localhost
PORT_REDIS=6379
NUMBER_DB_REDIS=1
# Frontend dashboard redirect
DASHBOARD_URL=http://localhost:3000/dashboard
# Gemini API key (used in AI chatbot pipeline)
KEY_GEMINI=your-gemini-api-key
- Docker + Docker Compose
# 1. Clone project
git clone https://github.com/thinhho0019/bitstream.git
cd bitstream
# 2. Cmd compose docker
docker-compose up --buildWe welcome contributions from the community!
To contribute to BitStream:
- π΄ Fork the repository
- πΏ Create a new branch:
git checkout -b feature/your-feature-name - β
Commit your changes:
git commit -m 'Add new feature' - π Push to your branch:
git push origin feature/your-feature-name - π Open a Pull Request
Please follow consistent coding style and include clear documentation for any new features.
This project is licensed under the MIT License.
If you have any questions, ideas, or need support:
- Open an issue
- Or contact us via GitHub profile
Please consider:
- β Starring the repo
- π’ Sharing it with others
- β Following for updates
Thank you for your interest and support in BitStream!