
JOSH is the JavaScript Object Storage Helper - a simple, effective, and efficient database wrapper. The idea of JOSH came out of my existing wrapper, Enmap, which suffers from two very unique but important flaws:
JOSH intends to solve both those problems that can't actually be resolved in Enmap itself, by moving away from the synchronous nature of better-sqlite3 and using Promises. In this way, JOSH can keep most of Enmap's features but add on a whole lot more.
Now that this history lesson is done, what exactly is JOSH except being a contrast to something I've already done?
JOSH is a promise-based database wrapper that assists in quick prototyping and rapid development of Node.js applications that require data storage. It aims at removing some of the complexity of database management and communication by providing a simple interface that anyone can pick up and use.
JOSH can communicate with many different database systems through the use of Providers, which are a translation layer between the JOSH API and the Database system.
JOSH is not an ORM , in the sense that it does not handle either models or relationships. It is a simple database wrapper that allows you to store and retrieve data from a database. It is not meant to be used as a full-fledged database management system, but rather as a tool to help you manage your data.
Logo Credits: CyaCal and GlitchyPSIX