A powerful application that extracts requirements from PDF documents using AI, with a modern web interface built with Next.js.
requirements-extractor/
├── frontend/ # Next.js frontend application
│ ├── src/ # Source code
│ ├── public/ # Static assets
│ └── package.json # Frontend dependencies
├── backend/ # Python backend application
│ ├── src/ # Source code
│ └── requirements.txt # Backend dependencies
└── README.md # This file
- PDF Requirements Extraction: Upload PDF documents and extract requirements using AI
- Markdown Export: View extracted requirements in a beautiful markdown format
- Word Document Export: Download requirements as a formatted Word document
- Modern UI: Clean and intuitive interface built with Next.js and Tailwind CSS
- Dark Mode Support: Seamless dark/light mode switching
- Responsive Design: Works perfectly on all device sizes
- Node.js 18.x or later
- Python 3.8 or later
- Git
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm run dev
The frontend will be available at http://localhost:3000
-
Navigate to the backend directory:
cd backend -
Create and activate a virtual environment (recommended):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Start the backend server:
python src/main.py
The backend API will be available at http://localhost:8000
- Open your browser and navigate to
http://localhost:3000 - Click the "Extract Requirements" button
- Upload your PDF document
- Wait for the extraction process to complete
- View the extracted requirements in the markdown viewer
- Optionally download the requirements as a Word document
- Built with Next.js 14
- Uses Tailwind CSS for styling
- TypeScript for type safety
- React Markdown for markdown rendering
- Docx.js for Word document generation
- FastAPI for the REST API
- PyPDF2 for PDF processing
- Custom AI model for requirements extraction
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request