Skip to content
This repository was archived by the owner on Feb 4, 2026. It is now read-only.

pacificpelican/okconcept0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OkConcept0

🐴

OkConcept0:

⚬ an API server for creating, reading, updating and destroying objects in MongoDB

⚬ a UI for interacting with the API

a port of Seis for MongoDB

by Dan McKeown at pacificIO copyright 2019


okcconcept0 logo with two horses


QuickStart


installation:


Download the app with Git:

git clone https://github.com/pacificpelican/okconcept0.git
cd okconcept0

Install the app with NPM or Yarn:

npm install
# or
yarn

Install MongoDB database

brew install mongodb
# or
**install MongoDB directly**

running:


Turn on MongoDB

brew services start mongodb
# or
mongod

Run the app on your local system:

npm run dev
# or
yarn dev

Open the app default UI in a browser (or make requests via the API):

open http://localhost:3011

curl http://localhost:3011/api/1/getdbdata/db/seisdb/object/seis


OkConcept0

an object cycle noSQL database manager by Dan McKeown

copyright 2019

  • You can view objects by entering them into the input at Objectbrowser
  • After visualizing the object with the `enter JSON object` button you can persist the data to MongoDB by pressing the `save to DB` button
  • Database is saved by default to the Mongo database at the `mongodb://localhost:27017/` address
  • These saved objects can be viewed at Desk (search for seis as the database object name) in chronological order
  • Edit, View and Delete are given the URL parameters they require to work via clicks on the links in Desk output
  • Clicking on the red X will take you to the Delete page where you can confirm deletion (of that entire object)
  • When an object is created, along with the normal metadata, a special locator property is added. This is used as a kind of ID for editing and deleting
  • App Component Tree

    • Objectbrowser → SpreadsheetObjectbrowser → SpreadsheetCoreRecursive
    • Desk → Spreadsheet → SpreadsheetCoreRecursiveClick
    • View → SpreadsheetCoreRecursive

    API

    • GET database object collection: /api/1/getdbdata/db/seisdb/object/seis Desk, Spiralviewer
    • GET one database object by locator: /api/1/getdbdata/db/seisdb/object/seis/tuple/14206 View
    • POST create new database object: /api/1/saveobjectdata/db/seisdb/obj/seis/newdata/%22%20%7B%20%5C%22name%5C%22%3A%20%5C%22Bogey%5C%22%20%7D%22 Objectbrowser
    • POST (shallow) create new database object: /api/1/saveobjectdatashallow/db/spiraldb/obj/notes/newdata/%7B%22note%22%3A%22I%20love%20the%20cat!%22%2C%22savedAt%22%3A1554680275455%7D Spiral
    • POST update existing database object by locator property: /api/1/updatedata/db/seisdb/object/seis/objprop/Bogey/objkey/name/newval/Belle/tuple/99372 Edit
    • POST update existing database object by locator property: /api/1.6/updatedata/db/seisdb/object/seis/objprop/%2522birds%2522/objkey/wha/newval/birbs/tuple/11749 Edit2
    • POST delete existing database object by locator property: /api/1/deletedata/db/seisdb/object/seis/tuple/15540 Delete

    OkConcept0 is built on modern web technologies

    okconcept0 is from Pacific IO and uses NextJS for front-end with custom server and routing and ExpressJS and was scaffolded using create-next-app. The UI is built with ReactJS components. The app's databases are powered by MongoDB.


    Okconceptbrowser

    This project includes the OkConceptbrowser project as published to NPM as a dependency: Okconceptbrowser (and its dependency okconceptviewer) was extracted from this project's Objectbrowser component.


    Known Issues

    • the Edit functionality will only edit top level object properties
    • arrays of JSON passed into Objectbrowser will not save since they are not objects
    • dev only: no ENV variables for production at the moment

    Connection to SEIS project

    • OkConcept0 started as a fork of the Seis project with the difference being that OkConcept0 uses MongoDB instead of LokiJS as its database backend (while maintaing v1 data API compatability).

    About

    NodeJS API layer

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

     
     
     

    Contributors