https://github.com/athityakumar/data
A terminal-data controller with dynamic auto-complete features, that is built with ruby.
https://github.com/athityakumar/data
Last synced: 4 months ago
JSON representation
A terminal-data controller with dynamic auto-complete features, that is built with ruby.
- Host: GitHub
- URL: https://github.com/athityakumar/data
- Owner: athityakumar
- License: mit
- Created: 2016-08-10T08:46:36.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-12-03T13:00:54.000Z (over 9 years ago)
- Last Synced: 2025-04-22T11:17:48.426Z (about 1 year ago)
- Language: Ruby
- Size: 8.79 KB
- Stars: 1
- Watchers: 2
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Data [](http://forthebadge.com)
----
A terminal data-controller with dynamic auto-complete features, that is built with ruby. You may want to even store credentials such as Bank Account / Password details - however, do this is at your own risk as anyone who has your unlocked linux machine / has SSH-access to your linux machine can navigate to the `info/` directory generated by the codes, to view all the data.
INSTALLING REQUIRED GEMS
------------------------
(1) `gem install json`
(2) `gem install terminal-table`
MAKING THE SCRIPT WORK
----------------------
(1) Type the following commands on a terminal : `cd ~/; git clone git@github.com:athityakumar/data.git`
(2) Install the required gems, as mentioned above. Tested on ruby 2.3.1p112 (2016-04-26 revision 54768) version.
(3) Now type this in the terminal : `gedit ~/.bashrc`
(4) The shell-script found in this repository as `CopyThis.sh` must be copy-pasted into the `.bashrc` file.
(5) Now, open a new terminal. Have the auto-completion files of `Data` been initialised? Great!
(6) Type `D` and press `Tab`. Yay, it auto-completes to `Data`!
(7) Continue further by reading through the set of supported auto-complete commands.
SET OF SUPPORTED COMMANDS
-------------------------
- [x] `Data New Tablename` : Creates a new table 'Tablename'. Auto-pushed into the auto-completion script.
- [x] `Data Existing Tablename Column_Add` : Adds more columns to the table 'Tablename'.
- [x] `Data Existing Tablename Column_Edit` : Edits existing columns of table 'Tablename'.
- [x] `Data Existing Tablename Column_Delete` : Deletes a particular column and all data values in that column of table 'Tablename'.
- [x] `Data Existing Tablename Column_Show` : Shows a list of existing columns of table 'Tablename'. Columns 'ID' & 'Date' are inbuilt & cannot be changed by user.
- [x] `Data Existing Tablename Data_Add` : Adds rows of data to the table 'Tablename'.
- [x] `Data Existing Tablename Data_Edit` : Edits existing data values into the selected row of table 'Tablename'.
- [x] `Data Existing Tablename Data_Delete` : Deletes a selected row of values of table 'Tablename'.
- [x] `Data Existing Tablename Data_Show` : Shows the full tabular form of data stored in table 'Tablename'.
- [x] `Data Delete Tablename` : Deletes table 'Tablename' after asking for confirmation.
EFFECTIVE USE OF SUCH TERMINAL TABLES
-------------------------------------
- [x] `Bookmark` table can be used for offline local storage of favourite websites (without being tracked by browser)
- [x] `Birthday` table can be used for storing birthdays of your friends.
- [x] `Wallet-History` table can be used for keeping track of expenses with description and in-built `DATE` column.
- [x] `Monday` / `Tuesday` / ... tables can be used as a Timetable list for each of the days. (Helpful for students)
- [x] `Contact` table can be used for storing contact details like `Email ID` , `Contact No.` , etc. of your friends.
IMPOROVEMENTS
-------------
- [ ] `Data Existing Tablename Column_Search` : Shows all matching columns from table 'Tablename'. Some fuzzy ranking search can be implemented.
- [ ] `Data Existing Tablename Data_Search` : Shows all matching records from table 'Tablename'. Some fuzzy ranking search can be implemented.
- [ ] `Data Secure Tablename` : Secures the data available in the table 'Tablename' with a password auth.
- [ ] `Data Unsecure Tablename` : Unsecures the data available in the table 'Tablename'.
- [ ] `Data Export Tablename` : Exports the data available in the table 'Tablename' to a CSV file.
- [ ] Use `awesome_print` gem to colorify the response messages based on success / failure.
- [ ] Include the above mentioned terminal-tables as inbuilt tables.
KWOC TO-DO LIST
---------------
- [ ] Add support for inbuilt datatype `Wallet` : `Data Wallet` : Take inputs money and transaction message. Also, print total balance left in wallet each time.
- [ ] Add support for inbuilt datatype `Contacts` : `Data Contacts` : Take inputs name, email, contact number & other required details.from `Contacts` table.
- [ ] Add support for inbuilt datatype `Birthday`: `Data Birthday` : Take inputs birthdate and name from `Contacts` table. Notify the user about those who have birthday on that particular day, each time the user opens the terminal.
CONTRIBUTION
------------
The work flow is the same as that of any other repository.
(1) Fork / clone the repository.
(2) Create a new branch , say `my-changes` and make your changes in this branch.
(3) Commit your changes and send a Pull request (PR) to this repository.
Active contributors would be rewarded with the tag of "Collabrators"
Bug fixes , Issues , Issue solutions , Optimizations & Enhancements are always welcome.
LICENSE
-------
The MIT License - [Athitya Kumar](http://github.com/athityakumar) - All Rights Reserved.