Documentation

Installation Guide

PaperCheck AI — Automated Research Paper Submission Compliance Checker

Step-by-step Setup Verified Instructions Chat Support
Back to Project
Complete Guide

Installation Guide

Follow these steps to set up PaperCheck AI on your local machine. The project has two parts — a Python Flask backend and a React frontend. Both must be running at the same time.

Requirements

  • Python 3.10 or higher
  • Node.js 18 or higher
  • npm 9 or higher
  • Git (optional, for cloning)
  • A Gmail account with 2-Factor Authentication enabled (for email reports)

Step 1 — Download and Extract the Project

Download the project ZIP file from CodeAj Marketplace and extract it to a folder of your choice. You will see two main folders inside: backend and frontend.

Step 2 — Backend Setup

Open a terminal and navigate into the backend folder.

cd backend

Create a Python virtual environment to keep dependencies isolated.

python -m venv venv

Activate the virtual environment.

On Linux or macOS:

source venv/bin/activate

On Windows:

venv\Scripts\activate

Install all required Python packages.

pip install -r requirements.txt

If you see ModuleNotFoundError: No module named 'fitz', run:

pip install PyMuPDF

If you see ModuleNotFoundError: No module named 'docx', run:

pip install python-docx

Step 3 — Initialise the Database

This creates the SQLite database file and seeds it with sample conference templates including IEEE, NeurIPS, and CVPR.

python database.py

Step 4 — Configure Email (Optional)

The system works without email — it will simply log "skipped" when a report is ready. To enable email reports, set these two environment variables before running the app.

On Linux or macOS:

export EMAIL_SENDER="you@gmail.com"
export EMAIL_PASSWORD="xxxx xxxx xxxx xxxx"

On Windows (Command Prompt):

set EMAIL_SENDER=you@gmail.com
set EMAIL_PASSWORD=xxxx xxxx xxxx xxxx

The password here is a Gmail App Password, not your regular Gmail password. To generate one, go to your Google Account, open Security, and look for App Passwords under Two-Step Verification.

Step 5 — Start the Flask Backend

python app.py

The API will start at http://localhost:5000. Keep this terminal open.

Step 6 — Frontend Setup

Open a second terminal window and navigate to the frontend folder from the project root.

cd frontend

Install Node.js dependencies.

npm install

Start the Vite development server.

npm run dev

The React app will open at http://localhost:3000. Vite automatically forwards all /api/* requests to the Flask backend at port 5000, so no CORS configuration is needed.

Step 7 — Using the Application

  • Open http://localhost:3000 in your browser
  • Register with your name and email on the home page
  • Go to Submit, select a conference template, enter your paper title, and upload a PDF or DOCX file
  • The compliance checker runs automatically — go to the Report page to see results
  • If email is configured, a full HTML report will arrive in your inbox
  • Check the History page for all your past submissions

Step 8 — Add Your Own Conference Template (Optional)

You can add a new conference template by sending a POST request to the API. Replace the values with your conference's actual requirements.

curl -X POST http://localhost:5000/api/conferences \
  -H "Content-Type: application/json" \
  -d '{
    "name": "CVPR",
    "max_pages": 8,
    "required_font": "Times New Roman",
    "required_font_size": 10,
    "margin_top": 1.0,
    "margin_bottom": 1.0,
    "margin_left": 1.0,
    "margin_right": 1.0,
    "citation_style": "IEEE",
    "required_sections": "abstract,introduction,related work,method,experiments,conclusion,references"
  }'

Troubleshooting

  • Report stuck on "processing" — check the Flask terminal window for error messages from checker.py
  • Email not sending — make sure you are using a Gmail App Password, not your regular Gmail password
  • CORS error in browser — confirm Flask is running on port 5000 and flask-cors is installed
  • Port already in use — kill the existing process or change the port in app.py and vite.config.js

Need Help?

Our team is here to assist you with installation and setup.

Chat with Us
Chat with us