Skip to content

About

**Article Scout** is an intelligent research paper evaluation system that helps students and researchers assess the relevance and quality of academic papers for their TCC (Final Project) or research work.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

3 Commits

Folders and files

Repository files navigation

Article Scout πŸš€

Python Streamlit Docker License Package Manager AI Provider Code Style

Research Paper Evaluator for TCC - A tool to evaluate research papers for relevance to Final Project themes.

πŸ“Š Application Flow

graph TD
    A[User Uploads PDF] --> B[PDF Text Extraction]
    B --> C{Extraction Success?}
    C -->|Yes| D[User Inputs TCC Theme]
    C -->|No| E[Error: Cannot extract text]
    D --> F[AI Evaluation Process]
    F --> G[Relevance Analysis]
    F --> H[Originality Check]
    F --> I[Methodology Quality]
    F --> J[Results & Discussion]
    F --> K[Potential Impact]
    F --> L[Writing Clarity]
    F --> M[References Timeliness]
    G --> N[Final Score Calculation]
    H --> N
    I --> N
    J --> N
    K --> N
    L --> N
    M --> N
    N --> O[Display Results]
    O --> P[User Reviews Evaluation]
    
    style A fill:#e1f5fe
    style O fill:#c8e6c9
    style E fill:#ffcdd2
    style F fill:#fff3e0
Loading

πŸ—οΈ Architecture Overview

graph TB
    subgraph "Frontend"
        A[Streamlit Web Interface]
    end
    
    subgraph "Backend Services"
        B[PDF Extractor]
        C[Article Scout Agent]
        D[Groq AI API]
    end
    
    subgraph "Data Processing"
        E[Text Extraction]
        F[Content Analysis]
        G[Score Calculation]
    end
    
    subgraph "Configuration"
        H[Environment Variables]
        I[Settings Management]
    end
    
    A --> B
    A --> C
    B --> E
    C --> F
    C --> D
    F --> G
    H --> C
    I --> C
    
    style A fill:#e3f2fd
    style D fill:#f3e5f5
    style G fill:#e8f5e8
Loading

πŸ“ Project Structure

article_scout/
β”œβ”€β”€ src/
β”‚   └── article_scout/          # Main application code
β”‚       β”œβ”€β”€ __init__.py
β”‚       β”œβ”€β”€ main.py            # Application entry point
β”‚       β”œβ”€β”€ article_scout_agent.py
β”‚       β”œβ”€β”€ streamlit_app.py   # Web interface
β”‚       └── utils/             # Utility modules
β”‚           β”œβ”€β”€ __init__.py
β”‚           └── pdf_extractor.py
β”œβ”€β”€ config/                    # Configuration files
β”‚   β”œβ”€β”€ settings.py
β”‚   β”œβ”€β”€ env.example
β”‚   └── .python-version
β”œβ”€β”€ scripts/                   # Utility scripts
β”‚   β”œβ”€β”€ dev.sh
β”‚   └── build.sh
β”œβ”€β”€ docs/                      # Documentation
β”‚   β”œβ”€β”€ README.md
β”‚   └── LICENSE
β”œβ”€β”€ data/                      # Data and examples
β”‚   β”œβ”€β”€ examples/
β”‚   └── input_files/
β”œβ”€β”€ tests/                     # Test files
β”œβ”€β”€ docker/                    # Docker configuration
β”‚   └── Dockerfile
β”œβ”€β”€ pyproject.toml            # Project configuration
β”œβ”€β”€ uv.lock                   # Dependency lock file
└── README.md                 # This file

πŸš€ Quick Start

Prerequisites

  • Python 3.12+
  • Docker (optional)
  • Groq API key

Installation

  1. Clone the repository

    git clone <repository-url>
    cd article_scout
  2. Install dependencies

    uv sync
  3. Configure environment

    cp config/env.example .env
    # Edit .env with your GROQ_API_KEY
  4. Run the application

    # Using the development script
    ./scripts/dev.sh
    
    # Or directly

uv run python -m streamlit run src/article_scout/streamlit_app.py


## 🐳 Docker

### Build and run with Docker

```bash
# Build the image
./scripts/build.sh

# Run with environment variables
docker run -p 8501:8501 -e GROQ_API_KEY=your_key article-scout:latest

# Or with .env file
docker run -p 8501:8501 --env-file .env article-scout:latest

πŸ§ͺ Testing

# Run all tests
uv run pytest tests/ -v

# Run specific test
uv run pytest tests/test_pdf_extraction.py -v

πŸ”§ Development

Available Commands

# Show all available commands
make help

# Install dependencies
make install

# Run tests
make test

# Format code
make format

# Run linting
make lint

# Clean cache files
make clean

# Build Docker image
make build

# Run application locally
make run

# Run with Docker
make docker-run

Code Quality

The project uses several tools to maintain code quality:

  • Black: Code formatting
  • isort: Import sorting
  • flake8: Linting
  • pre-commit: Git hooks for quality checks

πŸ“š Features

πŸ” PDF Processing

  • Multi-method text extraction (PyPDF2, pdfminer.six, PyMuPDF)
  • Automatic fallback mechanisms
  • Token limit management

πŸ€– AI Evaluation

  • Relevance to TCC theme analysis
  • Originality assessment
  • Methodology quality evaluation
  • Results and discussion analysis
  • Potential impact assessment
  • Writing clarity evaluation
  • References timeliness check

πŸ“Š Scoring System

  • Comprehensive scoring across 7 criteria
  • Weighted final score calculation
  • Detailed explanations for each criterion

🌐 Web Interface

  • User-friendly Streamlit interface
  • Real-time PDF upload and processing
  • Interactive results display
  • Error handling and user feedback

πŸ”‘ Configuration

Environment Variables

Variable Description Default
GROQ_API_KEY Groq API key (required) -
GROQ_MODEL AI model to use llama-3.1-8b-instant
GROQ_TEMPERATURE AI response randomness 0.3
MAX_TOKENS Maximum tokens for processing 5000
MAX_INPUT_CHARS Maximum input characters 5000

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

Development Setup

# Clone and setup
git clone <repository-url>
cd article_scout
make setup

# Install pre-commit hooks
pre-commit install

# Start development
make dev

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Groq for providing the AI API
  • Streamlit for the web framework
  • LangChain for AI integration tools
  • PyMuPDF for PDF processing capabilities

About

**Article Scout** is an intelligent research paper evaluation system that helps students and researchers assess the relevance and quality of academic papers for their TCC (Final Project) or research work.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages