An easy to use command-line based program to store, view, manipulate, and summarize documents with secure user authentication and history backtracking.
- User registration and login functionality
- File upload and management
- Word count for uploaded files (.txt, .doc, .docx, .pdf)
- Logging of user actions and application events
- Database management and file deletion options
- Summarization of documents and additional links suggestions
- Python 3.x
- SQLite3
- PyPDF
- python-docx
- logging
- nltk
- Clone the repository
- Run the application with
python3.11 smart_doc.py
or python3.x version of your choice - Once logged in, you can:
- View uploaded files
- Upload new files
- Delete files
- Summarize uploaded files
- Log out
- The application supports the following command-line arguments:
-a
: Run program!-c
: Clean the database and delete all uploaded files-g
: Generate a new database for testing-r
: Clean and generate a new database
smart_doc.py
: Main executable for programtest_main.py
: Backend testing implementationfile.py
: Contains functions for user registration, login, and file managementdatabase.py
: Handles database initialization and creation of tablesfullclean_db.py
: Provides functions for clearing the database and deleting filesDatabase/database.db
: SQLite database file for storing user information and uploaded filesuploaded_files/
: Directory for storing all uploaded files
The application logs various events and user actions to the app.log
file. The log file includes timestamps, log levels, and log messages for tracking and debugging purposes.
demo.mp4
Must run smartdoc application with an argument tag.
Cleaning and generating new database.
Registration prompt. All registered users are securely store LOCALLY only! Can be seen in database.py and database folder.
Successful login and file manage options. Uploaded files can only be viewed and manipulated by the logged in user. Other users have no access to uploaded files.
Viewing files. (Textbooks have large word counts!)
Deleting file clears it from the database for the logged in user and removes from stored directory.
Viewing summary of the file. (Chapter on Palestine History)
Viewing summary of the file not only includes keywords and a summary but also related links pertaining to the topic!
Docker file implementation. Requirements.txt can be seen in source code.
This project is licensed under the MIT License.