Skip to content

A note-taking desktop application that acts as your second brain. It combines the convenience of markdown-style writing with the functionality of a personal knowledge database presented in the form of flashcards.

License

Notifications You must be signed in to change notification settings

JohnEsleyer/brainvault

Repository files navigation

Image

BrainVault

Introduction

A note-taking application that combines the convenience of markdown-style writing with the functionality of a personal knowledge database presented in the form of flashcards. Designed for storing snippets of information for learning purposes.

Personal Note: This application was primarily intended to function as my personal note-taking app. It drew inspiration from two well-known applications: Obsidian Notes and Anki. I created this app because I wanted to blend the markdown writing style from Obsidian with the process of crafting flashcards. Currently, I use this app along with the aforementioned note taking apps (Obsidian and Anki). I use BrainVault to save quick bits of information like code examples, word meanings, and brief facts. On the other hand, when I want to keep things that are all linked together, I opt for Obsidian.

Screenshots

Screenshot from 2023-08-26 17-59-56 Screenshot from 2023-08-26 17-33-23Screenshot from 2023-08-26 17-33-29 Screenshot from 2023-08-26 18-24-15


How does the BrainVault organize notes?

The app employs a streamlined organizational structure characterized by two fundamental tiers: subjects and topics, each housing a distinct level of content granularity. With subjects serving as overarching categories and topics providing subcategories within subjects, the hierarchy allows for a concise and manageable system.

The conscious decision to limit the hierarchy to three levels aims to uphold efficiency and optimize the learning process by preventing the proliferation of intricate structures that could overshadow the core goal of assimilating information. This approach acknowledges the potential drawbacks of complex hierarchies, which can divert attention from studying and pose challenges in navigation as the structure expands. Consequently, the system underscores a judicious balance between organization and the primary objective of effective knowledge retention and acquisition.

Hierarchy

  • Subjects
    • Topics
      • Notes

At the top level, subjects are created to encapsulate broader areas of knowledge or study. These might include subjects such as Programming, Science , History, and more. Each subject can holda collection of related topics. Topics, nested within the subjects, offer a means to further categorize information within a specific subject area. For instance, under the Programming subject, topics could include Variables, Loops, Functions, and the like. The ultimate building blocks, notes, resides within individual topics. These notes contain the actual pieces of information you want to remember or refer back to. They could be detailed explanations, definitions, formulas, or any other relevant content.

Why only 3 levels?

The decision to limit the hierarchy is motivated by the aim to prevent users from creating convoluted systems that might eventually detract from the learning experience. As the structure becomes more intricate, traversing through the tree of information can become cumbersome and counterproductive.


Features

  • Study mode: Turn a subject or topic section into a deck of flashcards.
  • Markdown editor
  • Auto-save

Supported Markdown Features

  • Three types of headers denoted by the '#' symbol (e.g. #, ##, ###)
  • Bold text (**Bold Text**)
  • Italic text (_Italic text_)
  • Embedded Images
  • Bullet using the '-' symbol
  • Code blocks (Supports 100+ Programming Languages):

image image

Two-sided section

You can add a two-sided section in your notes: image

twosided

Supported Platforms

  • Android
  • Linux
  • Windows (Not Tested)
  • Web (In development)

Installation

Android

Open the terminal and type the following

flutter build apk --release

Linux

flutter build linux --release

Windows (Not tested)

I haven't tested the application in windows yet because all my computers are running in Linux.

flutter build windows --release

Limitations

  • The application is still very slow.
  • Doesn't support Latex

Contributing

I welcome any contributions from the open-source community to make this project better. However, I must emphasize that a positive and respectful environment is paramount. My lines of code aren't flawless, they reflect a work in progress. Many of them may not be fully optimized and lack a refined structure. Your collaboration and constructive input are valued as we collectively work towards improvement.

Making Contributions

  1. Fork the repository and create a new branch for your contribution.
  2. Write meaningful commit messages.
  3. Submit a pull request to the main branch of this repository.

About

A note-taking desktop application that acts as your second brain. It combines the convenience of markdown-style writing with the functionality of a personal knowledge database presented in the form of flashcards.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published