Cypress
πŸ”„

Cypress

Tags
NextJs13
TypeScript
Supabase-Realtime
Quill-Editor
WebSockets
NextAuth
Real-time presence
Published
December 20, 2024

🌲 Cypress

A Powerful Real-time Collaboration Platform
An editor with multi cursor functionality using Nextjs 13, Websockets, Supabase Realtime, Real-time presence, Custom Rich text editor, Update profile settings.

✨ Features that Empower Teams

Real-time Collaboration
Watch your team's cursors move and text selections update instantly, making remote collaboration feel natural and intuitive.
Workspace Management
Create and organize workspaces effortlessly, providing your team with a structured environment for their projects.
Shared Workspace Experience
Collaborate in real-time with team members in shared workspaces, enhancing productivity and communication.
Smart File Organization
Keep your work organized with intuitive folder management and hierarchical structure.
Document Recovery
Never lose important work with our comprehensive trash and restore functionality.

πŸ› οΈ Technology Stack

🎨 Frontend

  • Next.js 14 πŸš€: Server-side rendered React applications
  • Tailwind CSS πŸ’…: Utility-first styling framework
  • Socket.io Client πŸ”Œ: Real-time communication
  • Quill ✍️: Rich text editor with cursor support
  • Shadcn UI 🎯: Beautifully designed components library
  • React Hook Form πŸ“: Form validation and handling

βš™οΈ Backend & Infrastructure

  • Next Auth πŸ”: Authentication with Google and GitHub providers
  • Prisma ORM πŸ—ƒοΈ: Type-safe database toolkit
  • Supabase ⚑: Backend-as-a-service platform
  • Socket.io πŸ”„: WebSocket server implementation

πŸ”§ Development & Utilities

  • TypeScript πŸ“˜: Static type checking
  • Zod βœ…: Schema validation
  • TailwindCSS Animate πŸ’«: Animation utilities

πŸš€ Quick Start Guide

Prerequisites

  • Node.js 16 or higher ⚑
  • npm or yarn πŸ“¦
  • Git πŸ”„

Installation Steps

  1. Clone the repository
    1. git clone https://github.com/HarshDodiya1/cypress.git cd cypress
  1. Install dependencies
    1. npm install # or yarn install
  1. Set up environment variables
    1. cp .env.example .env
      # Database URL DATABASE_URL= # Supabase URL NEXT_PUBLIC_SUPABASE_URL= # Supabase Anon Key NEXT_PUBLIC_SUPABASE_ANON_KEY= # Service Role Key SERVICE_ROLE_KEY= # JWT Secret JWT_SECRET= # Site URL NEXT_PUBLIC_SITE_URL= # NextAuth Secret NEXTAUTH_SECRET= # Google Credentials GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= # Github Credentials GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET=
  1. Run database migrations
    1. npx prisma migrate dev --name init
  1. Start the development server
    1. npm run dev # or yarn dev
  1. Open http://localhost:3000 in your browser

🎯 Key Features in Detail

Live Cursor Tracking
See your teammates' cursors in real-time as they move across the workspace.
Team Collaboration
Easily add team members to your workspace and manage permissions.
Workspace Creation
Set up new workspaces in seconds with our intuitive interface.
File Recovery
Robust trash management system for recovering deleted items.

πŸ’« Core Features

  • Real-time Cursor Tracking πŸ–±οΈ: See collaborators' cursors in real-time
  • Live Text Selection ✨: Share and observe text selections instantly
  • Workspace Management πŸ“‚: Create and organize shared workspaces
  • File Organization πŸ“: Intuitive folder structure and management
  • Trash & Restore πŸ”„: Comprehensive file recovery system
  • Authentication πŸ”: Secure user authentication with NextAuth
  • Responsive Design πŸ“±: Works seamlessly across devices

🀝 Contributing

We welcome contributions to Cypress! Here's how you can help:
  1. Fork the repository
  1. Create your feature branch (git checkout -b feature/AmazingFeature)
  1. Commit your changes (git commit -m 'Add some AmazingFeature')
  1. Push to the branch (git push origin feature/AmazingFeature)
  1. Open a Pull Request

🌟 Show your support

Give a ⭐️ if this project helped you!
Star Now β‡’ GitHub

Built with ❀️ by Harsh Dodiya
Β