A comprehensive platform for analyzing and ranking X (Twitter) accounts from East Africa based on various metrics including engagement, follower count, and AI-based ranking.
- Features
- Tech Stack
- Installation
- API Documentation
- Influencer Categories
- Development
- Contributing
- License
-
AI-Powered Analysis
- Advanced account ranking using machine learning
- Multi-metric evaluation system
- Intelligent engagement scoring
-
Regional Focus
- Specialized for East African countries
- Location verification system
- Country-specific insights
-
Performance Metrics
- Engagement rate tracking
- Posting intensity analysis
- Thread creation monitoring
- Follower growth patterns
-
Technical Features
- Rate limit handling with progress indicators
- Results caching for better performance
- Data export in multiple formats (CSV/JSON)
-
Modern UI/UX
- Clean, responsive design
- Dark/Light mode support
- Real-time updates
-
Interactive Components
- Dynamic dashboard
- Sortable leaderboards
- Advanced search interface
- Data visualization with Chart.js
Python 3.8+ β FastAPI β Tweepy v2 β Pandas β Scikit-learn
React 18 β TypeScript β Tailwind CSS β HeadlessUI β Chart.js β Axios
-
Clone and Navigate
git clone <repository-url> cd Xbot
-
Install Dependencies
pip install -r requirements.txt
-
Configure Environment
# Create .env file in project root touch .env # Add your X API credentials API_KEY=your_api_key API_KEY_SECRET=your_api_key_secret BEARER_TOKEN=your_bearer_token ACCESS_TOKEN=your_access_token ACCESS_TOKEN_SECRET=your_access_token_secret
-
Launch Server
python run_api.py # API available at http://localhost:8000
-
Navigate to Frontend
cd frontend
-
Install Dependencies
npm install
-
Start Development Server
npm start # Frontend available at http://localhost:3000
Endpoint | Description | Method |
---|---|---|
/ |
Health check | GET |
/search |
Account search with filters | GET |
/leaderboard/{category} |
Category-based rankings | GET |
/dashboard/stats |
Analytics & statistics | GET |
/countries |
Supported countries list | GET |
/categories |
Influencer categories | GET |
Parameter | Type | Description | Required |
---|---|---|---|
topic |
string | Search keyword | Yes |
country |
string | Country filter | No |
category |
string | Influencer category | No |
min_followers |
integer | Minimum followers | No |
min_engagement |
float | Minimum engagement rate | No |
sort_by |
string | Sort parameter | No |
page |
integer | Page number | No |
limit |
integer | Results per page | No |
- High engagement rates
- Niche market focus
- Strong community interaction
- Balanced reach and engagement
- Growing authority
- Active community management
- Extensive reach
- Established authority
- Broad market influence
# Run backend tests
python -m pytest
# Run frontend tests
cd frontend && npm test
# Build frontend
cd frontend && npm run build
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.