MeryHarikaG / SimplyClip-proj2

A Chrome extension that lets you easily copy and paste items to and from your clipboard.
0 stars 2 forks source link

DOI

Uptime Robot ratio (30 days) License: MIT GitHub Release GitHub language count GitHub issues GitHub-closed-issues Test Cases GitHub contributors GitHub pull requests GitHub-size Coverage Status

                 :paperclips:   Clipboard Made Easy For Research   :paperclips:

---           ![](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/images/SimplyClip_title.jpeg) --- # Description SimplyClip4.0 :paperclips: is a google chrome extension which enables singular shared clipboard for research students and power users. Unlimited focus!!! ## :white_check_mark: What Simply Clip Can Do? - Select multiple text snippets from a single tab (or more!) and magically paste all off them! - Summarize content from different text selections - Merge different text selections - Sort text selections based on priority - Ability to manage what selection you want to keep or get rid of. - No more switching tabs, say no to all distractions!! - Download the copied content to CSV or DOC file with a single click. - Work in Dark Mode! - Search for any text from the copied content. - Helps you to save website URLs from which the text is copied. - Disable any time with a toggle, if you don't want the content to copy to extension. - Delete all copied items at once. - Can label the copied texts into URLs and YouTube videos. - Can access the YouTube video directly from the clipboard. - Give the word count of copied text in the text box. - Works across all tabs in the browser - Works like a charm for research work - many more... ## 📖 Use Case * ***Students***: Students and Research grads can take out snippets from text for easy reference later. We as grad students recently found ourselves in a position where we had to reference a lot of text snippets while recognizing reuses in research papers, SimplyClip does wonders for speeding up similar workflows. * ***Professionals/ Casual Users:***: It’s one issue to fill a repetitive and boring form. It’s an entirely another when we fill multiple of such forms with questions with repeating answers. SimplyClip fits really well in such a case where simple text clips can be saved and reused saving time and effort. ## :question: Why While working on finding reuse we spent significant amount of time searching and saving text snippets for further evaluation.Such a repetitive workflow sparked an idea of a clipboard workspace to manage all the recent snippets we have collected while researching.This in turn lead to the development of SimplyClip, in which not only clipboard text is saved, but can also be edited and deleted.Future development pipeline includes cross browser compatibility, exporting and cloud functionalities. ---

Simply Clip | Installation | Developers Note | TechStack | RoadMap | Contributors

--- ## 🥊 Punch Line https://user-images.githubusercontent.com/66715000/139998327-13eff7db-3375-4a1b-b888-5ed63115e31b.mp4 ## Demo [https://www.youtube.com/watch?v=ETtvNNvfhzU](https://youtu.be/773QRXIHMLM) --- ## :techstack: TechStack - **JavaScript** - **Python** - **HTML** - **CSS** - **Node.js** - **NPM** ## Version Control Tools

--- ## :shipit: Developers Note Basic knowledge of **JavaScript**, **HTML** ,**CSS** should be good enough to contribute to the project - [**popup.js**](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/popup.js) - [**popup.html**](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/popup.html) - [**popup.css**](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/popup.css) - [**content.js**](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/content.js) These are the only 4 files you will be working on and rest all are just configuration and documentation files.

We will be more than happy to help you extend the functionality of this extension.
**Happy Coding!!!!** 😄😄 ## :gear: Getting started Add SimplyClip to Google Chrome All you need is Google Chrome! 🕺 1. Get the repsitory using any of the below two methords : - Download :arrow_down: the ***[repository](https://github.com/MeryHarikaG/SimplyClip-proj2)*** using Code > Download Zip on our project github page. - Clone the reporitory using ***[GIT](https://git-scm.com)*** ``` https://github.com/MeryHarikaG/SimplyClip-proj2/ ``` 1. Manually install Entension using below steps. - Enable the developer mode from Chrome > Settings > extension. - Click on ***load Unpacked*** button and select the root folder of this repository. ![Extension](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/Docs/images/Extensions.png) - Enable the chrome extension.
![Extension](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/images/SimplyClip_title.jpeg) --- ## 📦 IDE and Packages - IDE : [VSCode](https://code.visualstudio.com/) - Code Style Formatter Extension: [Beautify](https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify) - Code Syntax Checker Extension : [Eslint](https://https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) for Vscode plugin. VS Code uses js-beautify internally, but it lacks the ability to modify the style you wish to use. This extension enables running js-beautify in VS Code, AND honouring any .jsbeautifyrc file in the open file's path tree to load your code styling. Run with F1 Beautify (to beautify a selection) or F1 Beautify file. ### Style Checker and Analyzer - Javascript Standard Style is style guide, linter, and formatter for Javascript and styling means ranking the importance of code clarity. - `npx standard --fix ` is used to fix the the style ### Code Formatter #### Prettier - Prettier is an opinionated code formatter which will format your code in structured way. - `npx prettier --write .` to check the errors in code formating - `npx prettier --check .` to check the errors in code formatting but only checks that files are already formatted, rather than overwriting them. prettier --write and prettier --check are the most common ways to run Prettier ### Syntax Checker #### Lint - Linting is the automated checking of your source code for programmatic and syntax errors. - `npm run lint` to check the linter to check errors in code formatting in the code. --- ## 🧪 Testcase Coverage - Functional tests for the extension could not thoroughly test the entire functionality of the application. - Hence, selenium automated test cases are added. - The following test cases are automated 1. The test launches a Chrome Browser with a user profile with the extension added. 2. It then browses to 'google.com' and searches for a specific keyword. 3. The first link is clicked and the text on the results page is copied. 4. Then there is a check to make sure that the copied text exists in the SimplyClip extension. - Run `npm run test` to run the selenium automated tests.
![Extension](https://github.com/aditya4196/SimplyClip/blob/Group10DeveloperBranch/images/Version3_Testcases.png) - Run `npm run instanbul-coverage` to check the code coverage.
![Extension](https://github.com/aditya4196/SimplyClip/blob/Group10DeveloperBranch/images/Version3_Code_coverage.png) ## :desktop_computer: Functional Descriptions #### 1. Copying to the extension clipboard : Any text copied from the browser page automatically gets copied to the extension's clipboard (given the URL has access to the system clipboard). #### 2. Copying to the system clipboard : User can select the text chunk to copy from the extension clipboard by simply clicking on the text entry. The entry automatically gets copied into the system clipboard. #### 3. Editing the extension clipboard : User is even allowed to edit the text entry copied to the extension clipboard. The user can edit the entry by clicking on the pencil icon and edit the text entry. Once edited, the entry gets saved automatically on clicking anywhere outside the focus of the text entry. #### 4. Downloading your copied text : Users can download the list of copied items as a document file or CSV file. The CSV file has many more columns, such as updated text, original copied text, URL of copied text, and so on. ## :interrobang: Troubleshooting 1) If the text doesn't get copied, please make sure that the page has the permission to access and modify the system clipboard. 2) When loading the extension for the first time, reload the pages in order to allow the URLs to prompt for permissions to access the system clipboard. 3) If none of the above steps work, consider reloading the extension and all the browser pages. 4) If the issue still persists, please consider writing us at simlyclipse43@gmail.com and we will get back to you as soon as possible. 5) You're also free to report a bug in our repository and clearly stating the issue that you're facing. Please make sure to follow the guidelines mentioned in [CONTRIBUTING.md](https://github.com/MeryHarikaG/SimplyClip-proj2/blob/Group10DeveloperBranch/Project2/Contributing.md) --- ## :railway_track: Roadmap ### Phase 1: - [x] Implemented the UI for chrome - [x] Integrate the chrome storage API to store and process copied text - [x] Tooltip implementation for the text copied to the clipboard - [x] Implementing copying functionality from clipboard to anywhere on the PC - [x] Editing the item on the Clipboard ### Phase 2 - [x] Brand new interactive UI - [x] Search across the copied text items - [x] Disable the extension with a toggle - [x] Website from which the text is copied is maintained and stored - [x] Old and new version of text is stored when text Is edited - [x] Export the copied content to DOC file - [x] Delete all copied items - [x] Add new item to the list - [x] Expand text area in edit mode ### Phase 3 : Successful Functional Improvements in SimplyClip3.0: - [x] Summarise text items from the list - [x] Sorting text items based on priority - [x] Merging similar text items from the list - [x] Dark Mode - [x] Expanding text area while searching - [x] Export the copied content to CSV and DOC file - [x] Export the summarised content to DOC file - [x] Can label the copied texts into URLs and YouTube videos. - [x] Can access the YouTube video directly from the clipboard. - [x] Give the word count of copied text in the text box. ### Future Enhancements: - [ ] Highlight important text box in the clipboard - [ ] Domain Entity for similar content - [ ] Citation fetching - [ ] Better training data for Summariser - [ ] Copy image to clipboard --- ## :handshake: Contributors 1. Mery Harika Gaddam (mgaddam@ncsu.edu) 2. Sri Lakshmi Kotha (skotha2@ncsu.edu) 3. Tanmaiyee Battula (tbattul@ncsu.edu) 4. Kavya Lalbahadur Joshi (kjoshi4@ncsu.edu) *** If you have any further queries, contact us on the above emails. Enjoy using SimplyClip! ***