Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/techlism/notedown
A self-hostable rich text editor
https://github.com/techlism/notedown
markdown postgresql rich-text-editor supa wysiwyg wysiwyg-editor
Last synced: about 23 hours ago
JSON representation
A self-hostable rich text editor
- Host: GitHub
- URL: https://github.com/techlism/notedown
- Owner: techlism
- License: mit
- Created: 2024-08-28T21:11:14.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2024-09-23T09:34:08.000Z (about 2 months ago)
- Last Synced: 2024-10-31T19:37:02.263Z (8 days ago)
- Topics: markdown, postgresql, rich-text-editor, supa, wysiwyg, wysiwyg-editor
- Language: TypeScript
- Homepage: https://notedown-techlism.vercel.app
- Size: 372 KB
- Stars: 11
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- my-awesome-list - notedown - hostable rich text editor | techlism | 12 | (TypeScript)
README
# Notedown
Notedown is a self-host-friendly note-taking application built with Next.js and Supabase. It allows users to securely create, store, and manage their notes with encryption. The project is designed to be easily deployable on your own infrastructure.
## Features
- **User Authentication:** Secure user authentication powered by Supabase.
- **Encrypted Notes:** Notes are stored with encryption to ensure privacy and security.
- **Rich Text Editing:** Supports rich text note-taking with customizable titles and content.
- **Cover Images:** Optional cover images for notes.
- **Responsive Design:** Fully responsive design for use on mobile and desktop devices.
- **Self-Hosting:** Easily self-host the application with your own Supabase and PostgreSQL setup.## Table Schema
Below is the table schema used to store notes in the Supabase database:
```sql
CREATE TABLE public.notes (
id uuid NOT NULL DEFAULT extensions.uuid_generate_v4(),
user_id uuid NOT NULL,
title text NOT NULL,
content bytea NOT NULL,
encryption_key text NOT NULL,
last_modified timestamp with time zone NULL DEFAULT current_timestamp,
cover_image_url text NULL,
CONSTRAINT notes_pkey PRIMARY KEY (id),
CONSTRAINT notes_user_id_fkey FOREIGN KEY (user_id) REFERENCES auth.users (id)
) TABLESPACE pg_default;
```### Installation
1.Clone the repository:
```bash
git clone https://github.com/yourusername/notedown.git
cd notedown
```2.Install the dependencies:
```bash
npm install
```3.Create a `.env.local` file in the root directory and add the following environment variables (see `.env.example` for an example). You will need to create a new Project in Supabase and obtain the credentials.
4.Run the development server:
```bash
npm run dev
```### Contributing
Contributions are welcome! Please send a pull request with your changes.
---
Please give a ⭐ if you found this project interesting and helpful.