Skip to content

NayanUnni95/NoteFlow

Repository files navigation

NoteFlow

NoteFlow Preview

NoteFlow is a modern, responsive, and collaborative note-taking application designed for seamless thought organization and real-time editing.

🚀 Features

  • Real-time Collaboration: Edit notes simultaneously with other users using WebSockets.
  • Version History: Track changes and restore previous versions of your notes easily.
  • Public & Private Notes: Share your notes with a public link or keep them private.
  • Dashboard Management: Organize your notes with pinning, searching, and quick delete options.
  • Modern UI/UX: Built with a sleek, premium design using Tailwind CSS and Radix UI components.
  • Responsive Design: Fully optimized for mobile, tablet, and desktop views.

🛠️ Tech Stack

  • Frontend: Next.js (App Router), TypeScript, Tailwind CSS, Lucide React.
  • State Management: React Query (TanStack Query).
  • Icons & UI: Radix UI, Lucide React, Sonner (Toasts).
  • Backend Communication: Axios & WebSockets.

⚙️ Configuration Setup

Environment Variables

Create a .env file in the root directory and add the following variables:

NEXT_PUBLIC_BACKEND_URL=http://your-backend-api-url/
NEXT_PUBLIC_WS_URL=ws://your-backend-websocket-url/

Note

For local development, these typically point to http://localhost:8000/ and ws://localhost:8000/ respectively.

URL Structure

The application follows a structured routing system for API and WebSocket communication:

  • Authentication: /auth/register/, /auth/login/, /auth/get-access-token/
  • Notes Management:
    • List: /manage-note/list-all/
    • Create: /manage-note/create/
    • Retrieve/Update/Delete: /manage-note/[id]/
    • WebSocket: /manage-note/ws/[id]
  • Version Management:
    • List Versions: /manage-version/[note_id]/list/
    • Restore: /manage-version/[note_id]/restore/[version_id]/
  • Public Access: /public/[id]/view/

🚀 Getting Started

First, install the dependencies:

pnpm install
# or
npm install

Then, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

📖 Learn More

To learn more about Next.js, take a look at the following resources:

About

Collaborative Note-Taking App

Resources

Stars

Watchers

Forks