Code Monkey home page Code Monkey logo

grimoire's Introduction

Grimoire Logo

Grimoire

Bookmark manager for the wizards ๐Ÿง™

GitHub License GitHub Actions Workflow Status GitHub Release Docker Pulls

Glimpse into the magical book of your forbidden knowledge - Grimoire! ๐Ÿ“–๐Ÿ’ซ

Unleash your inner sorcerer and conquer the chaos of bookmarks! With Grimoire, you'll have a bewitching way to store and sort your enchanted links.

But wait, there's more!

Transmute your saved pages into juicy content snippets with our mystical extraction feature. Embrace the magic, tame the clutter, and let Grimoire be your mystical companion in the vast library of the web.

It's time to conjure up some organization! ๐Ÿ“šโœจ

Features

  • add and organize bookmarks easily ๐Ÿ”–
  • create new user accounts, each with their own bookmarks, categories and tags ๐Ÿ™‹
  • fuzzy search through bookmarks ๐Ÿ”
  • supports tags and categories ๐Ÿท๏ธ
  • fetch metadata from websites, store it locally and update it when needed ๐ŸŒ
  • add your personal notes to bookmarks ๐Ÿ“
  • integration API to add bookmarks from other sources ๐Ÿงฐ
  • embrace the night with a dark mode ๐ŸŒ™
  • and stay productive using our official browser extension, grimoire companion (available here) ๐Ÿช„

Screenshots

Light Mode Dark Mode
Only unread Show only unread Adding new bookmark Adding new bookmark
User Profile view User Profile view Bookmark details Bookmark details

More screenshots can be found in the screenshots directory.

Installation

Run using Docker Compose (recommended)

Prerequisites

Steps

# Clone the repository
git clone https://github.com/goniszewski/grimoire

# Rename the `.env.example` file to `.env`
# "mv .env.example .env" on Linux/MacOS, "ren .env.example .env" on Windows

# [RECOMMENDED] Update the `.env` to set the initial admin user credentials
# (admins are separate from regular users)

# Build and run the containers
docker-compose up

Note

For the recommended setup, only the docker-compose.yml, .env.example files and the pb_migrations/ directory (containing the migration files) are needed.

Run app using Node + Pocketbase using Docker Compose

Prerequisites

Steps

# Clone the repository
git clone https://github.com/goniszewski/grimoire

# Rename the `.env.example` file to `.env`
# "mv .env.example .env" on Linux/MacOS, "ren .env.example .env" on Windows

# [RECOMMENDED] Update the `.env` to set the initial admin user credentials
# (admins are separate from regular users)

# Install the dependencies
pnpm i

# Run the Pocketbase container using Docker Compose and start the app
chmod +x ./run-dev.sh && ./run-dev.sh
Run app using Node + standalone Pocketbase

Prerequisites

Steps

# Clone the repository
git clone https://github.com/goniszewski/grimoire

# Rename the `.env.example` file to `.env`
# "mv .env.example .env" on Linux/MacOS, "ren .env.example .env" on Windows

# [RECOMMENDED] Update the `.env` to set the initial admin user credentials
# (admins are separate from regular users)

# Move the pocketbase executable to the project root directory and run it
./pocketbase serve

# Install the dependencies
pnpm i

# Build and start the app
pnpm build && node -r dotenv/config build

# To start the app again, just run `node -r dotenv/config build`

Tip

Although the above setups are intended for development, they are also suitable for daily use. For a better experience, it is recommended to use a Node.js process manager, such as PM2.

Development

Check out the development guide to learn how to set up the project for development.

Roadmap

  • Initial relase (0.1.0) ๐Ÿš€
  • Official Docker image ๐Ÿณ
  • Add Integration API ๐Ÿงฐ
  • Official browser extension (repository) ๐Ÿช„
  • Bookmark import and export features ๐Ÿ’ผ
  • AI features, like generated descriptions and tags suggestions ๐Ÿค–
  • Public User profiles & bookmark sharing ๐ŸŒ
  • Flows - a way to keep bookmarks in a session-like order with related notes (e.g. for learning, research, etc.) โœจ
  • ...and more to come! ๐Ÿง™

We're open to suggestions and feature requests! If you have an idea for a feature, please open an issue or start a discussion.

Contributing

If you want to contribute to the project, please read the contributing guide.

License

This project is licensed under the MIT License.

Credits

Special thanks to: @extractus/article-extractor, DaisyUI, Fuse.js, MetaScraper, PocketBase, sanitize-html, SvelteKit, Svelte Select, Svelte French Toast, Tailwind CSS

grimoire's People

Contributors

goniszewski avatar dependabot[bot] avatar babariviere avatar b52src avatar jonrick avatar whereistejas avatar

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.