Hi everyone I was thinking of creating a backend module that has functione for a note taking(search, sort, etc). So anyone can implement a ui on top of it.

I have some basic understanding of rust (made a just-working chip-8 emulator). But I've never used SQL or other database.

Is this plausible? Is there a similar project that I can use as reference? What are the mistakes I should avoid?

all 6 comments

sorted by: hot top controversial new old
[–] 2 points 4 months ago (2 children)

You can just use the filesystem and markdown files. That is a common way for applications to store note type data locally. This is what tools like Obsidian do and has the advantage of being easy to get the notes out if you want to use a different tool.

  • source
  • hideshow 2 child comments
  • [–] 1 point 4 months ago

    Note that Obsidian parses all the files and uses the browser's built in database to store indexed metadata and links between note files. It's how they have a responsive search function. You could either use sqlite, ad-hoc your way with flat-files.

    Of course, you could parse, walk links, and search through all files on the fly all the time. Text files at personal-notes scale should cache really well, and it might still be faster without the browser-tech overhead, but it's a toss-up

  • source
  • parent
  • [–] 2 points 4 months ago

    Rust already has one of the best text editors: helix.

    Then just take notes in markdown.

  • source
  • [–] 2 points 4 months ago* (last edited 4 months ago)

    Yes, there is Helix Notes, the backend is written in Rust

    https://codeberg.org/ArkHost/HelixNotes

  • source
  • [–] 1 point 4 months ago

    Is it a fully local backend? If so, you don't need a database. JSON could be enough.

  • source