Requirements for database project
- Data is stored using JSON objects.
- The database schema is of type: Document oriented database (flat-file hierarchy).
- The user should be able to insert a JSON object.
- When a JSON object is inserted, it should generate an auto-ID value.
- The datatypes to include in the database: strings, character, integers, float, complex, arrays, hashes, null, booleans.
- A CLI will be used as UI.
- The general syntax of instruction at the CLI will be: databasic insert <filepath (JSON file)>
- The command <> should return statistics on the whole database.
- A databasic query can be made using the auto-Id or a JsonPath.
- Return children of parent, or if value then value from a key.
- There is no need for returns to be sorted.
- Databasic should preserve datatype on return.
- Main
- main(String[])
- Inserter
- Id insert(File)
- AutoIdGenerator
- Id generate()
- Querier
- String findString(Id, JsonPath)
- Character findCharacter(Id, JsonPath)
- Integer findInteger(Id, JsonPath)
- Float findFloat(Id, JsonPath)
- ComplexNumber findComplexNumber(Id, JsonPath)
- List<?> findList(Id, JsonPath)
- Map<String, ?> findMap(Id, JsonPath)
- Boolean findBoolean(Id, JsonPath)
- Stats
- void generateStats()
- CLI
- void stats()
- void query(Id, JsonPath)
- void insert(String)
- Formatter
- string formatQuery(Object)
- string formatInsert(Id)
- Id
- JsonPath