An open API service indexing awesome lists of open source software.

https://github.com/blacksujit/suraksha

Welcome to the **SURAKSHA -- Secure Document Query Application**! This powerful tool allows you to securely upload, search, and analyze documents with ease. Built using Streamlit, this app offers an intuitive interface and various features for managing your document queries efficiently.
https://github.com/blacksujit/suraksha

aspect-oriented-programming cloud community-cloud-patterns dashboard database-design databse document implemeation integration model-checking model-selection parser project queries-database queries-keeper repository-pattern search secure-document streamlit-webapp testing-tools

Last synced: 3 months ago
JSON representation

Welcome to the **SURAKSHA -- Secure Document Query Application**! This powerful tool allows you to securely upload, search, and analyze documents with ease. Built using Streamlit, this app offers an intuitive interface and various features for managing your document queries efficiently.

Awesome Lists containing this project

README

        

# πŸ“„ **SURAKSHA -- Secure Document Query Application**

Welcome to the **SURAKSHA -- Secure Document Query Application**! This powerful tool allows you to securely upload, search, and analyze documents with ease. Built using Streamlit, this app offers an intuitive interface and various features for managing your document queries efficiently.

## πŸ•ΈοΈπŸ•ΈοΈπŸ“² [Live WebApp](https://suraksha.streamlit.app/)

## πŸ“‚ Folder Structure:

Here is the folder structure of the project:

```
secure-document-query-app/
β”‚
β”œβ”€β”€ main.py # Main entry point of the Streamlit application
β”œβ”€β”€ requirements.txt # List of Python dependencies
β”‚----data/
| sample_data
|
β”œβ”€β”€ utils/
β”‚ β”œβ”€β”€ __init__.py # Initialize the utils package
β”‚ β”œβ”€β”€ db.py # Database functions (setup, queries, etc.)
β”‚ |── document_parser.py # Functions for parsing documents
β”‚ |--security.py
| |--test_fernet.py
|
β”œβ”€β”€ queries.db
|---- secure_db.sqlite
|-----security.key
β”‚
└── README.md # This README file

```

## 🌟 **Web App Demo**

[App Demo](recording.mp4) -- click to download Video of web app

_A visual representation of the app's working interface_

## Screenshots Of Web App:

![alt text]()

![alt text](image.png)

![alt text]()

![alt text](newimg.png)

## πŸš€ **Features**

- **πŸ”’ Secure Document Upload**: Upload and store your documents securely.
- **πŸ” Advanced Search**: Perform keyword-based searches within your documents.
- **πŸ“Š Dashboard**: View insightful metrics and visualizations about your documents and search activities.
- **Document Count**: Track the number of documents you have uploaded.
- **Most Searched Queries**: Analyze the most frequently searched queries.
- **Document Type Distribution**: Visualize the distribution of different document types.
- **Search Trends**: Observe trends in search activities over time.
- **Word Cloud**: Explore common terms found in your documents with a visually appealing word cloud.
- **πŸ’Ύ Download History**: Download your chat and search history for record-keeping.

## πŸ› οΈ **Getting Started**

To get started with the **Secure Document Query Application**, follow these steps:

## Installation:

### 1. **Clone the Repository**

```bash
git clone https://github.com/Blacksujit/SURAKSHA_-Secure_Locker-.git

```

### **Set Up the Virtual Environment**:

```
python -m venv venv

```
```
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
```

### **Install Dependencies**:

```
pip install -r requirements.txt

```

### **Run the Application**:

```
streamlit run main.py

```

## πŸ“‹ How It Works:

1.) Upload Document: Use the sidebar to upload PDF, DOCX, or TXT files. The text from the document is parsed and saved securely.

2.) Search Queries: Enter search queries and click "Search" to find relevant results in your documents. The search queries and results are saved for analysis.

3.) Dashboard: Navigate to the Dashboard to view various metrics and visualizations, including document count, most searched queries, document type distribution, search trends, and a word cloud of common terms.
Download History: Download your chat history from the sidebar for offline access.

## 🎨 Visual Enhancements:

The application features a clean and modern UI with:


1.) Interactive Charts: Dynamic and responsive charts for better data visualization.

2.) Word Cloud: A visually appealing representation of common terms.

## πŸ› οΈ Technology Stack

1.) Python necessary (❀️)

2.) Streamlit: Framework for building interactive web applications.

3.) Matplotlib & Seaborn: Libraries for creating charts and graphs.

4.) Pandas: Data manipulation and analysis.

5.) WordCloud: For generating word clouds.

6.) SQLite: Lightweight database for storing document and query data.

## πŸ”— Links:

1.) Streamlit Community Cloud - [Platform for deploying Streamlit apps.](https://share.streamlit.io/deploy?repository=Blacksujit%2FSURAKSHA_-Secure_Locker-&branch=main&mainModule=main.py)

2.) GitHub Repository - https://github.com/Blacksujit/SURAKSHA_-Secure_Locker-.git

## πŸ’¬ Feedback & Contributions:

We welcome feedback and contributions! If you encounter any issues or have suggestions, please open an issue or pull request on our GitHub repository.