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.
- Host: GitHub
- URL: https://github.com/blacksujit/suraksha
- Owner: Blacksujit
- Created: 2024-08-09T15:58:54.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-12T18:33:47.000Z (10 months ago)
- Last Synced: 2025-01-29T11:22:44.653Z (5 months ago)
- Topics: 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
- Language: Python
- Homepage: https://suraksha.streamlit.app/
- Size: 14.9 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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]()

## π **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.