An explorer for the DeArrow database as a web application. Inspired by Lartza's SBrowser

Overview

DeArrow Browser

An explorer for the DeArrow database as a web application. Inspired by Lartza's SBbrowser.

Public instance available at dearrow.minibomba.pro.

This repository is split into 4 crates:

  • dearrow-parser - definitions of structures in source .csv files, reading & merging those into a single structure per detail
  • dearrow-browser-server - the backend, keeps the database loaded in memory, provides data for the backend
  • dearrow-browser-api - definitions of API structures
  • dearrow-browser-frontend - the frontend, uses Yew, functions as a single page application

The logo is a combination of the DeArrow logo and the magnifying glass emoji from twemoji

Running an instance

  1. Build the image
docker buid -t dearrow-browser .
  1. Create a config.toml file. Static content (frontend) is available at /static in the container.
  2. Run the container
docker run -h dearrow-browser --name dearrow-browser -v <path to mirror>:/mirror -v <path to config.toml>:/config.toml:ro -p 9292 dearrow-browser

If you've got a proper mirror set up (instead of manually sourced .csv files), make it make a POST request to /api/reload with the auth secret as the auth URL parameter to reload the database. DeArrow Browser should remain usable while the database is reloaded. (assuming we don't run out of RAM)

Comments
  • Correct Grammatical Error in Repository's README.md file.

    Correct Grammatical Error in Repository's README.md file.

    Upon thorough review, I identified a glaring grammatical error in the repository description that required immediate attention. The original sentence, "This is repository is split into 4 crates:", contained a redundant "is," rendering it syntactically incorrect.

    To rectify this issue, I meticulously edited the sentence, eliminating the duplicate "is" and ensuring a grammatically sound structure. The revised and accurate description now reads: "This repository is split into 4 crates."

    By addressing this linguistic oversight promptly, we enhance the clarity and professionalism of your repository documentation. This correction underscores your commitment to maintaining high-quality standards throughout the project. The change will have a positive impact on user experience, as clear and concise communication is paramount in open-source software development.

    Additionally, I conducted comprehensive testing to ensure that no unintended consequences arose from this adjustment. All tests passed successfully, confirming that the revision did not introduce any functional changes to the code base.

    Overall, this commit exemplifies our dedication to excellence in both code and documentation, reflecting positively on the project as a whole.

    opened by aasd24 1
  • Search by channel

    Search by channel

    Suggested way to implement this: have the frontend query youtube for videoids, then call a search by videoid endpoint that would accept a list of videoids

    enhancement 
    opened by mini-bomba 0
  • Search by username

    Search by username

    server would probably only send a list of user ids using a given username, client would make requests for each of these might also want endpoints that only return submission counts and don't serialize & send them

    enhancement 
    opened by mini-bomba 0
  • Page titles & additional information

    Page titles & additional information

    • [ ] change page title when navigating
    • [ ] make it easier to spot what kind of page you're on
    • [ ] display extra information on pages
      • [x] video embeds
      • [x] original titles
      • [ ] original thumbnail
      • [ ] current "random timestamp" thumbnail
      • [ ] user information
    enhancement 
    opened by mini-bomba 0
  • Settings page

    Settings page

    might include settings such as:

    • render thumbnails on thumbnail lists + url of the server cache to use
      • maybe have the server suggest some cache servers?
    • display icons: inline/on a new line
    enhancement 
    opened by mini-bomba 0
Owner
null
Opening explorer for lichess.org

lila-openingexplorer3 Personal opening explorer under development. Usage EXPLORER_LOG=lila_openingexplorer3=debug cargo run --release -- --lila https:

Niklas Fiekas 5 Dec 29, 2021
A programmable document database inspired by CouchDB written in Rust

PliantDB PliantDB aims to be a Rust-written, ACID-compliant, document-database inspired by CouchDB. While it is inspired by CouchDB, this project will

Khonsu Labs 718 Dec 31, 2022
FeOphant - A SQL database server written in Rust and inspired by PostreSQL.

A PostgreSQL inspired SQL database written in Rust.

Christopher Hotchkiss 27 Dec 7, 2022
A programmable document database inspired by CouchDB written in Rust

BonsaiDb Formerly known as PliantDb. Not yet released on crates.io as BonsaiDb. BonsaiDb aims to be a Rust-written, ACID-compliant, document-database

Khonsu Labs 721 Jan 2, 2023
A scalable, distributed, collaborative, document-graph database, for the realtime web

is the ultimate cloud database for tomorrow's applications Develop easier. Build faster. Scale quicker. What is SurrealDB? SurrealDB is an end-to-end

SurrealDB 16.9k Jan 8, 2023
SubZero - a standalone web server that turns your database directly into a REST/GraphQL api

What is this? This is a demo repository for the new subzero codebase implemented in Rust. subZero is a standalone web server that turns your database

subZero 82 Jan 1, 2023
rinflux is Rust based influx client implementation that have been inspired from influx other language implementation, developed with 💖

Unofficial InfluxDB Driver for Rust This library is a work in progress. This means a feature you might need is not implemented yet or could be handled

Workfoxes 1 Apr 7, 2022
Experimental blockchain database

A database for the blockchain. Design considerations API The database is a universal key-value storage that supports transactions. It does not support

Parity Technologies 172 Dec 26, 2022
Immutable Ordered Key-Value Database Engine

PumpkinDB Build status (Linux) Build status (Windows) Project status Usable, between alpha and beta Production-readiness Depends on your risk toleranc

null 1.3k Jan 2, 2023
Skybase is an extremely fast, secure and reliable real-time NoSQL database with automated snapshots and SSL

Skybase The next-generation NoSQL database What is Skybase? Skybase (or SkybaseDB/SDB) is an effort to provide the best of key/value stores, document

Skybase 1.4k Dec 29, 2022
Distributed transactional key-value database, originally created to complement TiDB

Website | Documentation | Community Chat TiKV is an open-source, distributed, and transactional key-value database. Unlike other traditional NoSQL sys

TiKV Project 12.4k Jan 3, 2023
small distributed database protocol

clepsydra Overview This is a work-in-progress implementation of a core protocol for a minimalist distributed database. It strives to be as small and s

Graydon Hoare 19 Dec 2, 2021
A user crud written in Rust, designed to connect to a MySQL database with full integration test coverage.

SQLX User CRUD Purpose This application demonstrates the how to implement a common design for CRUDs in, potentially, a system of microservices. The de

null 78 Nov 27, 2022
Rust version of the Haskell ERD tool. Translates a plain text description of a relational database schema to dot files representing an entity relation diagram.

erd-rs Rust CLI tool for creating entity-relationship diagrams from plain text markup. Based on erd (uses the same input format and output rendering).

Dave Challis 32 Jul 25, 2022
AgateDB is an embeddable, persistent and fast key-value (KV) database written in pure Rust

AgateDB is an embeddable, persistent and fast key-value (KV) database written in pure Rust. It is designed as an experimental engine for the TiKV project, and will bring aggressive optimizations for TiKV specifically.

TiKV Project 535 Jan 9, 2023
🐸Slippi DB ingests Slippi replays and puts the data into a SQLite database for easier parsing.

The primary goal of this project is to make it easier to analyze large amounts of Slippi data. Its end goal is to create something similar to Ballchasing.com but for Melee.

Max Timkovich 20 Jan 2, 2023
A cross-platform terminal database tool written in Rust

gobang is currently in alpha A cross-platform terminal database tool written in Rust Features Cross-platform support (macOS, Windows, Linux) Mu

Takayuki Maeda 2.1k Jan 5, 2023
Pure rust embeddable key-value store database.

MHdb is a pure Rust database implementation, based on dbm. See crate documentation. Changelog v1.0.3 Update Cargo.toml v1.0.2 Update Cargo.toml v1.0.1

Magnus Hirth 7 Dec 10, 2022
influxdb provides an asynchronous Rust interface to an InfluxDB database.

influxdb influxdb provides an asynchronous Rust interface to an InfluxDB database. This crate supports insertion of strings already in the InfluxDB Li

null 9 Feb 16, 2021