Skip to content

Latest commit

 

History

History
29 lines (26 loc) · 2.28 KB

README.md

File metadata and controls

29 lines (26 loc) · 2.28 KB

Open in Visual Studio Code

GoodDatabaseDB

GoodDatabaseDB is a terminal based Json database for storing and accessing Json documents. Features include sorting, query, and file revision history.

👥 Team Members

  • Joseph Hu (JosephHu113)
  • Nathan Tran (NateTran)
  • Cote Feldsine (cfeldsine)
  • Benson Wan (iarebwan)
  • Jonas Tan (jones171)

🛠️ Technologies

  • Python
  • String Manipulation
  • Json Library
  • Pandas Library

💡 Features

  • Our features:
    • Interface to access database: Users interact with our database using the terminal. All valid documents are automatically displayed as a table so users can better visualize the data.
    • Authentication/User Profiles: Users can login to the database using username and password. Each user has exclusive access to their own database.
    • Table representation of documents: The tables are created by taking all of the data from the documents and locally storing the information into dictionaries. This enables fast retrieval and editing of information.
    • Ability to query documents: Users have the option to query the entire JSON like ctrl-f or query the table using keys.
    • Ability to find and/or replace strings - will show documents/line number of string location(s): Users can edit specific keys/values that are queried.
    • Uploading/importing documents: Users can upload documents to the database from their computer and download documents from the database to their computer.
    • Conversion of non-json documents to json format and vice versa: CSV files that are uploaded by the user are automatically read as a JSON and adhere to the JSON schema.
    • Editing the document(s) in the database: Users have the option of directly editing the JSON or editing rows of the table.
    • Ability to pin certain documents to make them more accessible based on user’s priorities: Users have the option of pinning a document to the top of the document list. This document stays pinned until the user decides to unpin it.
    • Get statistics about document (number characters, words): Users can view the metadata of their documents.