Skip to content

BitStream is a real-time crypto analytics and alerting system that keeps users informed about Bitcoin market activity through automated email updates. The platform features: πŸ“ˆ Live Bitcoin Index Monitoring: Continuously tracks key Bitcoin metrics such as price, volume, market trends, and technical indicators. πŸ“§ Email Notifications: Sends timely

Notifications You must be signed in to change notification settings

thinhho0019/Bitstream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Bitstream

Next.js FastAPI PostgreSql Redis RAG

BitStream is a real-time crypto analytics and alerting system that keeps users informed about Bitcoin market activity through automated email updates. The platform features:

πŸ“ˆ 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.


✨ Features

  • πŸ” 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.

    Scene Dashboard

image

    Scene ChatBox

image

πŸ› οΈ Environment Variables Configuration

This project includes both a Next.js frontend and a FastAPI backend. The following environment variables are required for development and production setup.


🌐 Frontend (Next.js)

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

πŸš€ Backend (FastApi)

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

πŸš€ Farst Installer With Docker Compose

Requiments:

  • Docker + Docker Compose

By step:

# 1. Clone project
git clone https://github.com/thinhho0019/bitstream.git
cd bitstream

# 2. Cmd compose docker
docker-compose up --build

🀝 Contributing

We welcome contributions from the community!

To contribute to BitStream:

  1. 🍴 Fork the repository
  2. 🌿 Create a new branch: git checkout -b feature/your-feature-name
  3. βœ… Commit your changes: git commit -m 'Add new feature'
  4. πŸš€ Push to your branch: git push origin feature/your-feature-name
  5. πŸ›  Open a Pull Request

Please follow consistent coding style and include clear documentation for any new features.


πŸ“„ License

This project is licensed under the MIT License.


πŸ“¬ Contact & Support

If you have any questions, ideas, or need support:


⭐ If You Like This Project

Please consider:

  • ⭐ Starring the repo
  • πŸ“’ Sharing it with others
  • βœ… Following for updates

Thank you for your interest and support in BitStream!

About

BitStream is a real-time crypto analytics and alerting system that keeps users informed about Bitcoin market activity through automated email updates. The platform features: πŸ“ˆ Live Bitcoin Index Monitoring: Continuously tracks key Bitcoin metrics such as price, volume, market trends, and technical indicators. πŸ“§ Email Notifications: Sends timely

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published