A modern web application that syncs clipboard content across multiple devices in real-time. Built with Next.js, TypeScript, and Tailwind CSS.
- 🔄 Real-time synchronization - Content syncs instantly across all connected devices
- 📱 Multi-device support - Works on desktop, tablet, and mobile devices
- 🎨 Rich text editor - Built with TipTap for rich text formatting
- 🎯 Modern UI - Clean, responsive design with Tailwind CSS
- 🔌 Socket.io integration - WebSocket-based real-time communication
- 📋 Clipboard history - View and manage previous clipboard items
- 🔍 Device management - See all connected devices and their status
- Frontend: Next.js 14, React 18, TypeScript
- Styling: Tailwind CSS
- Real-time: Socket.io
- Rich Text: TipTap editor
- State Management: React hooks
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone https://github.com/damianczer/Multi-Session-Web-Clipboard.git
cd Multi-Session-Web-Clipboard- Install dependencies:
npm install- Start the development server:
npm run dev- Open http://localhost:3000 in your browser
Create a .env.local file:
NEXT_PUBLIC_SERVER_URL=http://localhost:3001src/
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout
│ └── page.tsx # Home page
├── components/ # React components
│ ├── ui/ # Reusable UI components
│ ├── editor/ # Rich text editor
│ ├── clipboard/ # Clipboard-related components
│ └── devices/ # Device management components
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── server/ # Socket.io server code
├── styles/ # Global styles
└── types/ # TypeScript type definitions
- Open the app on multiple devices (computer, phone, tablet)
- Add content using the rich text editor on any device
- Content syncs instantly across all connected devices
- Copy items to your local clipboard with one click
- View device status and manage clipboard history
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript type checking
The app can be deployed to Vercel, Netlify, or any platform that supports Next.js.
For Socket.io server, you'll need to deploy it separately (e.g., Railway, Heroku, DigitalOcean).
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js - React framework
- Tailwind CSS - Utility-first CSS framework
- Socket.io - Real-time communication
- TipTap - Rich text editor