Skip to content

AI-powered real-time collaborative text editor with integrated chat, built using Tiptap, Hocuspocus, and Gemini API. Designed for seamless team writing, intelligent summarization, and productivity-focused collaboration.

Notifications You must be signed in to change notification settings

AbhijyYdv547/NeuroNote

Repository files navigation

NeuroNote

AI-powered collaborative note-taking tool that brings teams and individuals together to write, edit, and enhance content in real-time. Powered by Tiptap, Hocuspocus, and Gemini API, NeuroNote offers intelligent summarization, grammar checks, and seamless collaboration—all in one place.


Features

  • User authentication (Signup/Login)
  • Rich-text editor with Tiptap (bold, italic, headings, lists, etc.)
  • Real-time collaboration with conflict resolution via Hocuspocus
  • AI-powered summarization and grammar checks using Gemini API
  • Chat function to communicate with team members
  • Persistent storage with PostgreSQL and Prisma ORM
  • Secret code-based room joining:
    • A secret code is generated when a room is created
    • Users must enter this code to join a room for the first time
    • Once joined, the room will be listed in their dashboard and can be rejoined without needing the code again
  • AI Sidebar for collaborative documents:
    • Instantly summarize or grammar-check the live document content
    • Trigger AI actions with one click, without leaving the editor
  • Responsive, clean UI with smooth animations

Tech Stack

Frontend

Backend

AI Integration


Screenshots

Landing Page

Login and Signup Pages

Dashboard

Collaborative Editor

Room Chat

AI Summarization & Grammar-check


Getting Started

Manual Setup

Prerequisites
Node.js (v18+ recommended)
pnpm (Install via npm i -g pnpm)
PostgreSQL (Locally running, or use cloud-hosted)
Git

Steps
# Clone the repository
git clone https://github.com/your-username/neuronote
cd neuronote

# Install dependencies
pnpm install

# Create environment variables
Change .env.example to .env file and add same JWT_SECRET in every folder
# Also, add your Gemini API key to /apps/server/.env
# Change the Database url in /packages/db folder to a proper postgres db url

# Generate prisma client
cd packages/db
npx prisma generate

# Run development servers
pnpm run dev

# Access the App
Frontend: http://localhost:3000
Backend API: http://localhost:3001
WebSocket: ws://localhost:5000
Hocuspocus: ws://localhost:1234

Docker setup

1. Prerequisites
Install Docker

## Clone the repo:
git clone https://github.com/your-username/neuronote
cd neuronote

2. Configure Environment Variables
Rename .env.example to .env in all the directories and add same JWT_SECRET

# Add your Gemini API Key to /apps/server/.env:
GEMINI_API_KEY=your_gemini_api_key

3. Run All Services
# Use the following command to build and start everything:

docker-compose up --build
This will start:

web: Next.js frontend
server: REST backend (auth, notes, AI)
ws-server: WebSocket chat backend
hocuspocus-server: Real-time Tiptap collaboration server
postgres: PostgreSQL database

4. Access the App
# Once Docker Compose finishes:

Frontend: http://localhost:3000
Backend API: http://localhost:3001
WebSocket: ws://localhost:5000
Hocuspocus: ws://localhost:1234

Ensure PostgreSQL is running and .env is properly configured with your database and API keys.


Scripts

Script Description
pnpm run dev Run development server
pnpm build Build project for production
pnpm lint Lint the codebase
pnpm format Format code using Prettier

Folder Structure

apps/
  ├── web/                    # Next.js fronted with landing page,login,signup,dashboard with Room function which uses Tiptap
  ├── hocuspocus-server/      # Real-time collaboration backend for Tiptap
  ├── server/                 # REST endpoints for auth, notes, etc.
  ├── ws-server/              # Real-time websocket backend for Chat and Room
packages/
  ├── ui/                     # Shared UI components (Buttons, Modals)
  ├── db/                     # Database schema and Prisma client
  ├── common/                 # Helper functions and types
  ├── backend-common/         # Common data for backend
  ├── eslint-config/
  ├── typescript-config/

✅ TODOs

  • Add AI assistant with summarization and grammar-check
  • Dockerize the app
  • Deploy full-stack app
  • Add note version history

Feedback or Collaboration

Interested in contributing or sharing feedback? Feel free to connect:


About

AI-powered real-time collaborative text editor with integrated chat, built using Tiptap, Hocuspocus, and Gemini API. Designed for seamless team writing, intelligent summarization, and productivity-focused collaboration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •