{"repo":"HowProgrammingWorks/indexedDB","free":true,"listed":false,"github":"https://github.com/HowProgrammingWorks/indexedDB","clone":"git clone https://github.com/HowProgrammingWorks/indexedDB.git","description":"IndexedDB Examples","language":"JavaScript","stars":17,"topics":["database","globalstorage","indexeddb","metarhia"],"license":"MIT","category":"databases-storage","readme_excerpt":"IndexedDB Examples Quick start 1. Install dependencies npm i ; optionaly run tests: npm t 2. Start server node server for example: node server Pragmatic 3. Open in browser: http://127.0.0.1:8000/ Compare 3 implementations - Native: pure indexedDB API - Goal: fast, minimal, no intermediate abstractions layer, everything just hardcoded in imperative code without abstractions - No schemas, just raw indexedDB.open , transaction , objectStore , logic written inline per action - Structure: single file - Pros: fully transparent usage of IndexedDB - Cons: unable to write unittests, no reusability, poor maintainability - Enterprise: wrapper for indexedDB API with ceremonies overhead - Goal: maximum DDD and Cleal/Layered architecture compliance and code maintainability - Abstractions for every responsibility: Database, Repository, Service, UserModel, UserRepository, UserService, Logger - Utilities like exec() to improve domain code readability and semantics - Actions with autobinding to UI: action(id, callback) - Structure: splitted in 4 modules, multiple classes - Pros: testable, proper Separation of Concerns, validation, UI actions, extendable logic - Cons: verbose, ceremonies, boilerplate, cognitive heavy, slower to write, overhead for simple apps - Pragmatic: wrapped indexedDB API with DSL without ceremonies - Goal: minimal yet structured and reusable IndexedDB access - Wrapped indexedDB API with DSL for queries and scemas, but without ceremonies, minimal pragmatic solution: just D","default_branch":null,"files":null,"tree":[],"storefront":"/r/HowProgrammingWorks","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/HowProgrammingWorks/indexedDB/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}