π² 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
- Clone the repository
git clone https://github.com/HarshDodiya1/cypress.git cd cypress
- Install dependencies
npm install # or yarn install
- Set up environment variables
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=
- Run database migrations
npx prisma migrate dev --name init
- Start the development server
npm run dev # or yarn dev
- 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:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
)
- Commit your changes (
git commit -m 'Add some AmazingFeature'
)
- Push to the branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
π Show your support
Give a βοΈ if this project helped you!
Star Now β GitHub
Built with β€οΈ by Harsh Dodiya
Β