Giter Site home page Giter Site logo

sbuliga / notabase Goto Github PK

View Code? Open in Web Editor NEW

This project forked from churichard/notabase

0.0 0.0 0.0 43.69 MB

A personal knowledge base for networked thinking.

Home Page: https://notabase.io

License: GNU Affero General Public License v3.0

TypeScript 94.43% JavaScript 3.46% CSS 0.53% PLpgSQL 1.57% Shell 0.01%

notabase's Introduction

Notabase

Twitter Discord

Notabase is a personal knowledge base for networked thinking.

It lets you connect knowledge and form ideas by linking notes together. These links allow you to traverse your notes like webpages and find connections that you never would have thought of otherwise. Think of it as a personal Wikipedia for your brain that you can edit and browse as you like. As you add more notes, it gets more powerful!

It is inspired by note-taking apps such as Notion, Obsidian, Typora, and Roam Research.

demo

Features

  • ๐Ÿ“– Browse your notes with page stacking (similar to Andy's working notes)
  • ๐Ÿ“ WYSIWYG editor with markdown support makes it easy to read and edit notes
  • ๐Ÿ”— Linked/unlinked references let you see other notes that reference a specific note
  • #๏ธโƒฃ Organize your notes with links, tags, and nested notes
  • ๐Ÿ“ฑ Can be installed as a Progressive Web App (PWA) for faster loading and offline viewing
  • โ˜ Your notes are synced to the cloud and can be accessed on any device
  • ๐Ÿ”€ Use the graph view to analyze your knowledge graph
  • ๐Ÿ” Full-text search lets you easily find relevant notes
  • ๐Ÿงฑ Use block references to embed a block of text from another note, which auto-updates when the original block changes
  • ๐Ÿค Import or export your notes at any time
  • ๐Ÿ™Œ Open source with community involvement and transparent development
  • ๐Ÿš€ And much more!

Status

Notabase is in beta and is under active development.

Documentation & Support

If you need help getting started with Notabase, check out our Help Center.

Sponsors

Special thanks to the following people for their support:

Sponsors make it possible for me to continue developing Notabase. Your support is greatly appreciated!

Become a sponsor

Self-hosting / running locally

Notabase is currently focused on the hosted experience, but it is possible for you to self-host it as well. Here are some steps that you need to take to get it running locally:

  1. Notabase uses Supabase as the backend (for authentication, database, and storage), so you'll have to make a Supabase account. If you prefer to self-host Supabase, you can follow the instructions in their docs.
  2. Copy .env.local.example into .env.local and fill in the NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_KEY, and SUPABASE_SERVICE_KEY variables from your Supabase dashboard. The other environment variables are optional.
  3. Create your database tables. The full schema is here.
  4. In your local development environment, install the packages using npm install, and then run the project using npm run dev.

Note: the hosted and self-hosted versions of Notabase share the same codebase, so by default, there is a cap on the number of notes you can create. You can circumvent this by inserting a new row in the subscriptions table for your user id, with pro in the plan_id column and active in the subscription_status column.

Testing

Unit tests

You can run unit tests by running npm run test.

Cypress tests

First-time setup:

  1. Install Docker and Docker Compose.
  2. Installed the supabase-cli: npm i -g supabase.
  3. Run supabase init to initialize your Supabase project.
  4. Copy .env.test.example into .env.test and fill in the environment variables.

To run tests:

  1. Start Docker.
  2. Run supabase start.
  3. Run NODE_ENV=test npm run dev.
  4. Run npm run cy:open to run Cypress tests in a GUI, or npm run cy:run to run them in the CLI.

License

Notabase is licensed under the AGPL license, and is free for personal use.

If you'd like to use Notabase for commercial use, please contact me for a commercial license.

notabase's People

Contributors

churichard avatar dependabot[bot] avatar jaydon-chai 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.