Smart Document Analyzer
Demo: Here is the demo
Description: The Smart Document Analyzer is a versatile tool designed to enhance document management and analysis processes. It provides functionalities for uploading, summarizing, and analyzing documents, empowering users to extract valuable insights from their textual content efficiently.
Features:
-
User Registration and Authentication: Users can register for an account to access the system. Secure authentication ensures that only authorized users can interact with the application.
-
Document Upload: Users can upload various types of documents, including text files (e.g., .txt), PDFs, images, and more. Uploaded documents are securely stored in the system for further analysis.
-
Document Summarization: The system utilizes advanced natural language processing (NLP) techniques to generate concise summaries of uploaded documents and webpage urls. Summaries provide users with a quick overview of the main points and key insights contained within the documents.
-
Keyword Extraction: Keywords are automatically extracted from documents to highlight important terms and concepts. Extracted keywords can aid in categorizing, searching, and organizing documents effectively.
-
Integration with External APIs: The Smart Document Analyzer integrates with external APIs to enrich document analysis capabilities. Integration with web search APIs allows users to retrieve relevant articles or resources related to document content.
-
User-Friendly Interface: The application features an intuitive user interface for seamless interaction. Clear navigation and straightforward functionalities make it easy for users to upload, analyze, and manage documents.
Usage:
- Upon accessing the application, users are presented with options to register or login.
- To register, users can click on the "Register" button and fill out the registration form with a unique username and password.
- After registration, users can log in using their credentials.
- Once logged in, users are redirected to the dashboard, where they can access various functionalities.
- The dashboard allows users to upload documents, analyze uploaded documents, analyze web pages, or logout.
- The application will return a summary, keywords, relevant URLs to online articles related to the content, and the tone of the text.
Workflow: The application is built using Flask and consists of several routes:
- /: The main route where users can register, login, or exit the application.
- /register: Allows users to register for an account.
- /login: Handles user authentication and redirects to the dashboard upon successful login.
- /dashboard: Provides access to various functionalities like uploading documents and analyzing them or inputting an url and analyzing the text.
- /upload_document: Allows users to upload documents.
- /analyze_document: Summarizes and analyzes uploaded documents.
- /analyze_webpage: Summarizes and analyzes web pages by providing a URL. The app.py file defines the Flask application and contains all the route handlers for different functionalities.
Instructions for Developers
- Clone the repository to your local environment.
- Install the required dependencies specified in requirements.txt.
- Ensure that MongoDB is installed and running locally or update the database configuration to point to the desired MongoDB instance.
- Run the Flask application by executing the app.py file.
- Run the uploader API and authenticate API inside /uploader and /authenticate respectively.
- Access the application in your web browser at http://localhost:5002.
- Develop additional features, enhance existing functionalities, or contribute to the project as needed.
- Before committing any changes, ensure that all code follows the project's coding standards and conventions.
- Create a pull request for review and integration of your changes into the main branch.