Coder Social home page Coder Social logo

shoshinnikita / boltbrowser Goto Github PK

View Code? Open in Web Editor NEW
145.0 8.0 19.0 34.51 MB

boltBrowser is a GUI web-based explorer and editor for boltDB

License: MIT License

Go 71.97% CSS 3.34% JavaScript 18.85% HTML 5.84%
boltdb go gui web database-browser help-wanted

boltbrowser's Introduction

boltBrowser

Maintenance Go Report Card Coverage Status GitHub license Github all releases

boltBrowser is a web-based explorer for BoltDB.

Warning! I need your help. For details see help wanted

Features

  • You can work with several databases in one time
  • You can visit nested buckets
  • Minimalistic and simple interface
  • Opportunity to search records and buckets using regex
  • Opportunity to edit a db (create, delete, modify buckets and records)

Examples of using the program

1

How to start

  1. Run the program (you can download the latest release here)
  2. Go to localhost:500
  3. Open the list of databases
  4. Add a database by pressing sign '+'
  5. Enjoy!

Settings

Setting Default value Description
port :500 port of the website
offset 100 number of records on a single page
debug false mode of debugging
check version true should program check a new version
open browser true should the program open a browser automatically
neat window true should the program open a neat window

You can change settings by editing a config file or using command line flags.

Config file

The config file โ€“ config.ini. The default content:

# List of all opts:
# port
# debug
# offset
# should_check_version
# is_write_mode
# open_browser
# open_neat_window

# Port for website
port=:500
debug=false
# number of records on a single screen
offset=100
should_check_version=true
is_write_mode=true
open_browser=true
# has effect only if 'open browser' is true
open_neat_window=true

You can overwrite values from the config file by setting flags.

Flags

The default values are the same as values in the config file.

Flag Description
-port port of the website
-offset number of records on single page
-debug mode of debugging
-checkVer should program check a new version
-openBrowser should the program open a browser automatically
-neatWindow should the program open a neat window

Security

Program use function EscapeString() from package html for preventing of js-injection.

Other

You can change mode of converting []byte. Just change functions ConvertKey(b []byte) string (or ConvertValue()) in src/converters/converter.go

Note: function will be used for converting all keys (or values). So, if your keys (or values) were converted from either string or uint program will crash.

Additional info

Initial work was undertaken on Bitbucket.

Help wanted

Unfortunately, I'm not a good frontend and UI developer. So, it would be great, if you decide to help me.

If you want to help, you can check Issues or you can skim through the source code.

License

MIT License

boltbrowser's People

Contributors

shoshinnikita avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boltbrowser's Issues

Show only part of all records

Show only part of all records. For example, 100.

  • Add offset into db.DBApi
  • Define constant for offset
  • Add buttons "Prev" and "Next"

Add flag -noConfig

Add flag -noConfig. The program won't create config file or will ignore it, if the file already exists.

Add opportunity to search records by key

Solution:

  • Keep all records in memory (we can create array while first call function GetRoot())
  • We can use binary search, because all elements are sorted (for PrefixScan()). Think about SuffixScan()
  • Add simple realization of regexp (?)

Also, we can use records in memory to increase speed of functions NextRecords() and PrevRecords()

Unable to export values of fields when in read only mode

When in read only mode, trying to export using x or X fails with error database not open or Error Exporting to file {filePath}. It would be nice if there was a way to export values without having to open with read/write access and block other processes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.