Skip to content
/ andydb Public

Simple NoSQL database behind a REST server for quickly storing data.

License

Notifications You must be signed in to change notification settings

andy-ta/andydb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AndyDB

Born out of necessity during a hackathon, AndyDB is a quick-and-easy REST-based NoSQL database inspired by MongoDB.

AndyDB is still in very early alpha and if you are not in my immediate friend circle then it is not ACID-compliant.

Usage

You can either build the binary yourself with go build or download the release.

After starting andydb.exe, you can make simple RESTful CRUD requests to the server at http://localhost:42069/api.

For example, curl -d '{"email": "[email protected]"}' http://localhost:42069/api/contacts will create the contacts resource type (since it does not exist yet) and will save the provided body as an entry of that resource. It will return with the created object in JSON format, and with a new field _id, to be used for future operations. Subsequent POST requests to the contacts resource will append the entry to the list of contacts.

With the _id you may now perform a GET / PUT / DELETE requests in the format of:

  • GET http://localhost:42069/api/contacts/{_id}
    • curl http://localhost:42069/api/contacts/{_id}
  • PUT http://localhost:42069/api/contacts/{_id}
    • curl -X PUT -d '{"email": "[email protected]"}' http://localhost:42069/api/contacts/{_id}
  • DELETE http://localhost:42069/api/contacts/{_id} (
    • curl -X PUT http://localhost:42069/api/contacts/{_id}

If you don't provide the id for a GET request, it will return all entries of the resource.

Upcoming Features

  • Locking
  • Save to file
  • Security
  • Containerization
  • Type checking
  • Cleanups by coding in Go better
  • Etc.

About

Simple NoSQL database behind a REST server for quickly storing data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages