Opinio is a sophisticated Flask-based application that provides comprehensive business review analytics using advanced natural language processing and machine learning techniques. The platform helps businesses gather, analyze, and gain insights from customer reviews across multiple platforms.
- Multi-Platform Review Collection: Automated collection of reviews from various platforms
- Sentiment Analysis: Advanced sentiment and polarity analysis of customer reviews
- Topic Categorization: AI-powered categorization of review content
- Real-time Processing: Asynchronous job processing using Redis Queue
- Dynamic Insights Generation: AI-generated insights using Azure OpenAI
- DynamoDB Integration: Scalable data storage using Amazon DynamoDB
- Backend: Python/Flask
- Database: Amazon DynamoDB
- Queue System: Redis Queue
- AI/ML:
- Azure OpenAI
- NLTK
- Scikit-learn
- HDBSCAN
- Infrastructure: Docker
- Task Runner: Task (go-task)
- Python (version 3.11+)
- Poetry (version 1.x)
- Docker
- Redis
- go-task
- Install Poetry
curl -sSL https://install.python-poetry.org | python3 -- Install go-task
brew install go-task/tap/go-task- Install Dependencies
task installCreate a .env file in the root directory with the following variables:
DYNAMODB_URL=http://localhost:8000
AWS_REGION=us-east-2
AZURE_OPENAI_API_KEY=your_api_key
- Start DynamoDB Local
docker-compose up -d- Start Redis Worker
import redis
from rq import Worker, Queue, Connection
redis_conn = redis.Redis()
listen = ["default"]
if __name__ == "__main__":
with Connection(redis_conn):
worker = Worker(map(Queue, listen))
worker.work()- Run the Application
task runThe project uses Taskfile for common development tasks:
task install # Install dependencies
task run # Run the application
task stop # Stop the application
task test # Run tests
task lint # Run linter
task format # Format code.
├── application.py # Main Flask application
├── modules/ # Core functionality modules
├── connectors/ # Platform-specific connectors
├── models/ # Data models and database schemas
├── docker/ # Docker configuration
└── logs/ # Application logs
- Review Analysis Engine: Advanced NLP pipeline for processing customer reviews
- DynamoDB Models: Scalable data models for storing application data
- API Endpoints: Comprehensive REST API for platform interaction
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is proprietary and confidential. All rights reserved.
For more detailed information:
For support, please open an issue in the project repository or contact damorosolima@gmail.com
