• Stars
    star
    1,046
  • Rank 44,062 (Top 0.9 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created about 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Surrealist is the ultimate way to visually manage your SurrealDB database


Surrealist for SurrealDB

Surrealist is a simple to use Browser and Desktop based query playground and database explorer for SurrealDB. You can connect to any SurrealDB server and execute queries in a graphical interface, including table & variable auto completion, syntax highlighting, and much more. Switch to the explorer view to browse database tables, edit record contents, and traverse graph relationships. Use the designer view to create or modify your database schema, and manage logins and scopes with the authentication view.

Features

  • ⚑ SurrealQL syntax highlighting
  • πŸ” Database explorer & record inspector
  • ✏️ Full schema creation and modification
  • πŸ”’ Manage database logins & scopes
  • πŸ“Œ Define multiple sessions & environments
  • πŸ“‹ Automatic table name completion
  • πŸ’« Support for multiple queries in one request
  • πŸ”­ Start a local database directly from the application
  • πŸ“œ Query history & Query favoriting

How to use

You can read our documentation for information on how to use Surrealist.

Web App

You can use Surrealist by visiting https://surrealist.app/

While the web app provides a convenient and easy way to use Surrealist, the desktop app offers additional features such as an integrated database runner and offline support.

Download

You can download the latest version of Surrealist Desktop from our Releases page.

Running on MacOS

When running Surrealist on MacOS, as the application is not signed, you may be prompted that the file is damaged and can't be opened. If this happens, try the following steps:

  • Move the downloaded surrealist-xxx-darwin-arm64.tgz outside of your Downloads folder (to add Surrealist to your Launchpad, place it in the /Applications directory)
  • Extract the application from the tgz file
  • Delete the tgz file, as it is no-longer needed
  • Open the Terminal app and navigate to the directory you extracted Surrealist into
  • Run the command sudo xattr -rd com.apple.quarantine Surrealist.app (You may be prompted to enter your password)

If these steps don't work, please open an issue ticket.

Local database

You can start a local database directly from the application by pressing the start button in the top right. Doing so will start up a SurrealDB instance using the credentials and port entered for the current tab.

You can choose whether the local database is stored in memory or stored on disk on the Settings screen.

This functionality is currently only available in the desktop app.

Query view

Use the Query View to execute queries against your database. You can define variables in the Variables panel and use them in your queries, and browse the results in the Results panel.

Executed queries are saved to the Query History or can be manually saved to the Favorites panel to quickly access previous queries.

Query View

Explorer view

The Explorer View is used to browse your database and inspect individual records. When you select a table in the left panel, the table contents will be displayed in the Record Explorer. You can click on a record id to open the Record Inspector, in which you can edit the record contents and traverse graph relationships.

Explorer View

Contributing

We welcome any issues and PRs submitted to Surrealist. Since we currently work on multiple other projects and our time is limited, we value any community help in supporting a rich future for Surrealist.

Before you open an issue or PR please read our Contributor Guide.

Development

This project is built using Tauri and React.

Requirements

Live Development

To run in live development mode, run npm run tauri:dev in the project directory. This will run a Vite development server that will provide very fast hot reload of your frontend changes.

Building

To build a redistributable, production mode package, use npm run tauri:build.

Maintainers

Surrealist is built and maintained by Starlane Studios at no cost. If you would like to support our work feel free to donate to us ⚑

License

Surrealist is licensed under MIT

Copyright (c) 2022, Starlane Studios

More Repositories

1

surrealdb

A scalable, distributed, collaborative, document-graph database, for the realtime web
Rust
27,324
star
2

awesome-surreal

A curated list of SurrealDB resources, tools, utilities, and applications.
405
star
3

surrealdb.js

SurrealDB SDK for JavaScript
TypeScript
300
star
4

surrealdb.go

SurrealDB SDK for Golang
Go
227
star
5

surrealkv

A low-level, versioned, embedded, ACID-compliant, key-value database for Rust
Rust
214
star
6

surrealdb.py

SurrealDB SDK for Python
Python
175
star
7

echodb

An embedded, in-memory, immutable, copy-on-write, key-value database engine
Rust
130
star
8

surrealdb.wasm

A WebAssembly engine for the SurrealDB JavaScript SDK
Rust
114
star
9

www.surrealdb.com

The website, and blog for SurrealDB, built using Ember.js
Handlebars
93
star
10

surrealdb.net

SurrealDB SDK for .NET
C#
91
star
11

indxdb

A key-value database engine abstraction layer for IndexedDB in WASM
Rust
81
star
12

vart

A timed adaptive radix trie data-structure, used in SurrealKV
Rust
75
star
13

surrealml

A machine learning library for Python and Rust, for PyTorch, Tensorflow and SKLearn models
Rust
72
star
14

docs.surrealdb.com

The documentation for SurrealDB, powered by Docusaurus
MDX
66
star
15

surrealdb.rs

SurrealDB driver for Rust
64
star
16

surrealdb.java

SurrealDB SDK for Java
Java
63
star
17

surrealdb.node

A Node.js engine for the SurrealDB JavaScript SDK
Rust
61
star
18

surrealdb.php

SurrealDB SDK for PHP
PHP
42
star
19

tutorials

A collection of official and community tutorials and code walkthroughs
JavaScript
42
star
20

examples

Example applications and scripts which run on SurrealDB
TypeScript
40
star
21

docker.surrealdb.com

Configuration files for running a multi-node SurrealDB cluster using Docker
Shell
35
star
22

rixxdb

A versioned, embedded, strongly-consistent, key-value database
Go
28
star
23

revision

A Rust library for revision-tolerant serialisation and deserialisation, with support for schema evolution over time
Rust
24
star
24

ascua

A library for building advanced, optimised Ember.js apps
SCSS
24
star
25

showcase

A showcase of applications which have been built with, or built upon SurrealDB
23
star
26

storekey

Binary encoding data format which ensures lexicographic sort order
Rust
23
star
27

surrealql-grammar

SurrealQL grammar definition for TextMate, VSCode, and other IDEs
23
star
28

fibre

A simple and fast HTTP and WebSocket framework for Go
Go
19
star
29

dmp

An efficient plain text comparison and patching library written in Rust
Rust
16
star
30

cork

A binary serialisation format for Go
Go
13
star
31

surrealdb.deno

A Deno engine for the SurrealDB JavaScript SDK
TypeScript
12
star
32

discord-bot

Rust
12
star
33

surrealdb.c

SurrealDB driver for C
11
star
34

web-indexer

TypeScript
11
star
35

ember-surreal

A realtime SurrealDB data adapter for Ember.js
JavaScript
11
star
36

windows.surrealdb.com

The script for installing SurrealDB on windows operating systems
PowerShell
11
star
37

app.surrealdb.com

The user interface application, for managing SurrealDB, built using Ember.js
JavaScript
10
star
38

surrealdb.react

SurrealDB driver for React
TypeScript
9
star
39

install.surrealdb.com

The script for installing SurrealDB on unix operating systems
Shell
9
star
40

rfcs

Proposals and discussions on changes to SurrealDB
9
star
41

memodb

An embedded, in-memory, immutable, copy-on-write, key-value database engine
Rust
8
star
42

setup-surreal

GitHub Action for running SurrealDB in CI environments
Shell
8
star
43

bung

A serialization implementation for SurrealDB, based on MessagePack
Rust
7
star
44

trice

A minimal replacement for std::time::Instant that works in WASM
Rust
7
star
45

bump

An efficient buffering library for Go
Go
7
star
46

surrealdb-derive

Private implementation of procedural macros for SurrealDB
Rust
7
star
47

vtree

A versioned radix tree library implementation for Go
Go
6
star
48

surrealql.wasm

WebAssembly utility functions for SurrealQL parsing and validation
Rust
6
star
49

tlist

A linked time series list implementation for Go
Go
5
star
50

blist

A binary time series list implementation for Go
Go
5
star
51

surrealdb-macros

Private implementation of function macros for SurrealDB
Rust
5
star
52

deb.surrealdb.com

The script for installing SurrealDB on Debian-based operating systems
Shell
5
star
53

homebrew-tap

Homebrew tap for SurrealDB
Ruby
5
star
54

lexicmp

Library for comparing and sorting strings lexicographically
Rust
4
star
55

license

Licensing information for the SurrealDB database, components, libraries, and SDKs
4
star
56

surrealql

SurrealQL data types for use in SurrealDB
4
star
57

openapi

The OpenAPI specification for the SurrealDB HTTP API
4
star
58

yokudb

4
star
59

blog

The blog posts published on the SurrealDB website, and the DEV community
4
star
60

angular-surreal

4
star
61

surreal.go

Golang driver for SurrealDB
Go
3
star
62

download.surrealdb.com

The global repository for binary release files for macOS, Linux, and Windows
JavaScript
3
star
63

version.surrealdb.com

A domain endpoint for announcing the latest published SurrealDB version
JavaScript
3
star
64

ptree

A radix tree library implementation for Go
Go
3
star
65

.github

This repository houses the SurrealDB Github organisation profile file
3
star
66

www.surrealdb.world

The website for SurrealDB World, built using Ember.js
SCSS
2
star
67

build

2
star
68

surreal.js

Javascript driver for SurrealDB
JavaScript
2
star
69

helm-charts

Smarty
2
star
70

chocolatey

The script for packaging SurrealDB for the Chocolatey package manager
PowerShell
2
star
71

icons

Icons for use in other repositories in the SurrealDB organisation
1
star