This project is a full-stack web application that allows users to upload PDF files, process their content, and view the extracted text in a text editor on the frontend. The backend is powered by FastAPI, and the frontend is built with Next.js. Additionally, the project uses Poetry for Python dependency management and ollama for model-related functionalities.
- PDF Upload: Users can upload PDF files for processing.
- Text Extraction: The uploaded PDFs are processed, and the extracted text is displayed in the frontend text editor.
- API Integration: The backend provides APIs to handle the PDF uploads, processing, and text retrieval.
- FastAPI Backend: Built for fast and asynchronous API handling.
- Next.js Frontend: A responsive user interface with a rich text editor.
- PDF Report Generation: Users can generate structured reports based on the extracted content.
- Python 3.9+
- Node.js 16+
- Poetry (for Python package management)
- ollama (for model-related processing)
Poetry is used for managing Python dependencies. To install Poetry:
# Install Poetry globally
curl -sSL https://install.python-poetry.org | python3 -
# Make sure Poetry is available in your terminal
export PATH="$HOME/.local/bin:$PATH"
ollama is a tool used to run language models locally. Download the latest version from the official ollama website and follow the installation instructions for your operating system.
After installing Poetry, use it to install the backend dependencies:
cd backend
poetry install
poetry run uvicorn main:app --reload
Navigate to the frontend directory and install the Node.js dependencies:
cd insta-report
npm install
npm run dev
Once the backend and frontend servers are up, follow these steps:
- Open your browser and go to
http://localhost:3000
. - Upload a PDF file using the provided upload button.
- The extracted text will be processed by the FastAPI backend and displayed in the frontend's text editor.
- Ensure CORS is configured correctly on the backend to allow requests from the frontend.
- You can customize the FastAPI and Next.js configurations as per your project requirements.
This project is licensed under the MIT License.
- Pravin Maurya – Developer
- Krish Lakhani - Developer
- Abie Koshy - Developer