Skip to content

Latest commit

 

History

History
73 lines (56 loc) · 3.67 KB

File metadata and controls

73 lines (56 loc) · 3.67 KB

Academic Review Simulator

Overview

The Academic Review Simulator is a web application that simulates the academic peer review process using AI. Users can upload academic papers in PDF format and receive simulated referee reports, author responses, and rebuttals. The application leverages the EDSL (Expected Parrot Data Science Library) to generate realistic academic review content through AI agents representing different types of reviewers with distinct expertise and reviewing styles.

User Preferences

Preferred communication style: Simple, everyday language.

System Architecture

Web Framework Architecture

  • Flask-based backend with SQLAlchemy ORM for database operations
  • Jinja2 templating with Bootstrap for responsive UI components
  • Session-based authentication using Flask sessions for user state management
  • File upload handling with secure filename processing and size limitations (16MB max)

Database Design

  • SQLite/PostgreSQL support with SQLAlchemy providing database abstraction
  • User model storing credentials and EDSL API keys
  • ReviewSession model tracking paper uploads, processing status, and generated content
  • Cascade deletion ensuring cleanup when users are removed

AI Service Integration

  • EDSL service wrapper handling authentication with Expected Parrot API
  • Agent-based review generation using multiple AI personas with distinct academic backgrounds
  • File processing pipeline converting uploaded PDFs into AI-readable formats
  • Multi-stage content generation producing referee reports, author responses, and rebuttals sequentially

Frontend Architecture

  • Progressive enhancement with vanilla JavaScript for interactivity
  • Bootstrap dark theme optimized for Replit environment
  • Real-time progress tracking with AJAX polling for long-running AI operations
  • Responsive design supporting mobile and desktop experiences

File Management

  • Secure upload directory with proper permissions and access controls
  • Temporary file handling for AI processing workflows
  • ZIP file generation for complete review package downloads
  • File validation ensuring only PDF uploads are accepted

Error Handling and Logging

  • Comprehensive logging throughout the application stack
  • User-friendly error messages with proper Flask flash messaging
  • Processing state tracking to handle AI service failures gracefully
  • Session cleanup for failed or interrupted review processes

External Dependencies

AI and Machine Learning

  • EDSL (Expected Parrot) - Primary AI service for generating academic content through specialized agents
  • Expected Parrot API - Backend AI service requiring API key authentication

Web Framework and Database

  • Flask - Main web framework with extensions for SQLAlchemy and file uploads
  • SQLAlchemy - Database ORM with support for multiple database backends
  • Werkzeug - WSGI utilities including security helpers and proxy middleware

Frontend Libraries

  • Bootstrap 5 - UI framework with Replit dark theme customization
  • Font Awesome - Icon library for consistent visual elements
  • jQuery - JavaScript library for AJAX operations and DOM manipulation

File Processing

  • Werkzeug secure_filename - Secure file upload handling
  • Python zipfile - Archive creation for download packages
  • PDF processing capabilities - Handled through EDSL FileStore integration

Development and Deployment

  • Python logging - Built-in logging for debugging and monitoring
  • Environment variable configuration - Flexible deployment configuration
  • Replit hosting optimization - ProxyFix middleware for proper request handling