Coin Radar is a FastAPI-based backend with a React frontend for tracking cryptocurrency prices, setting alerts, and getting notified via Telegram. Users can register/login, set price conditions (above/below/between), and link their Telegram for real-time alerts.
- User Authentication (JWT-based)
- Telegram notifications
- Price Alerts (Upcoming)
- News Alerts (Upcoming)
- Coin live stats from sources like CoinGecko, CoinMarketCap, Binance (Upcoming)
- FastAPI backend with PostgreSQL
- React frontend with modern UI (shadcn/ui)
- Backend: FastAPI, SQLAlchemy, PostgreSQL, JWT, Celery
- Frontend: React, Tailwind CSS, Axios, shad-cn
- Notifications: Telegram Bot API
- Others: dotenv for config, Pydantic for schema validation
-
Clone Repo & Create Virtualenv
git clone https://github.com/yourusername/coin-radar.git cd backend python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt
-
Environment Variables Create a
.envfile:DATABASE_URL=postgresql://user:password@localhost/dbname SECRET_KEY=your_secret TELEGRAM_BOT_TOKEN=your_telegram_bot_token -
Start Server
uvicorn app.main:app --reload --port 9999
-
Install Dependencies
cd frontend npm install -
Start Dev Server
npm run dev
- Open the bot in Telegram:
@coinradar1155_bot - On frontend, go to Telegram Connect
- Copy the code and send it to the bot
- Click “I’ve sent the code” to link your Telegram
- Register → Login → Get JWT token
- Frontend saves token in
localStorage - Token is sent in
Authorization: Bearer <token>for secure API access
