Aaryan Khandelwal ff03c0b718 [WEB-1322] dev: conflict free pages collaboration (#4463)
* chore: pages realtime

* chore: empty binary response

* chore: added a ypy package

* feat: pages collaboration

* chore: update fetching logic

* chore: degrade ypy version

* chore: replace useEffect fetch logic with useSWR

* chore: move all the update logic to the page store

* refactor: remove react-hook-form

* chore: save description_html as well

* chore: migrate old data logic

* fix: added description_binary as field name

* fix: code cleanup

* refactor: create separate hook to handle page description

* fix: build errors

* chore: combine updates instead of using the whole document

* chore: removed ypy package

* chore: added conflict resolving logic to the client side

* chore: add a save changes button

* chore: add read-only validation

* chore: remove saving state information

* chore: added permission class

* chore: removed the migration file

* chore: corrected the model field

* chore: rename pageStore to page

* chore: update collaboration provider

* chore: add try catch to handle error

---------

Co-authored-by: NarayanBavisetti <narayan3119@gmail.com>
2024-05-28 13:10:03 +05:30
2024-05-22 12:48:47 +05:30
2024-05-10 15:23:51 +05:30
2024-05-22 13:00:45 +05:30
2023-06-19 18:47:39 +05:30
2024-04-09 17:53:09 +05:30



Plane Logo

Plane

Open-source project management that unlocks customer value

Discord online members Commit activity per month

WebsiteReleasesTwitterDocumentation

Plane Screens Plane Screens

Meet Plane, an open-source project management tool to track issues, run sprints cycles, and manage product roadmaps without the chaos of managing the tool itself. 🧘‍♀️

Plane is evolving every day. Your suggestions, ideas, and reported bugs help us immensely. Do not hesitate to join in the conversation on Discord or raise a GitHub issue. We read everything and respond to most.

Installation

The easiest way to get started with Plane is by creating a Plane Cloud account.

If you would like to self-host Plane, please see our deployment guide.

Installation methods Docs link
Docker Docker
Kubernetes Kubernetes

Instance admins can configure instance settings with God-mode.

🚀 Features

  • Issues: Quickly create issues and add details using a powerful rich text editor that supports file uploads. Add sub-properties and references to problems for better organization and tracking.

  • Cycles: Keep up your team's momentum with Cycles. Gain insights into your project's progress with burn-down charts and other valuable features.

  • Modules: Break down your large projects into smaller, more manageable modules. Assign modules between teams to track and plan your project's progress easily.

  • Views: Create custom filters to display only the issues that matter to you. Save and share your filters in just a few clicks.

  • Pages: Plane pages, equipped with AI and a rich text editor, let you jot down your thoughts on the fly. Format your text, upload images, hyperlink, or sync your existing ideas into an actionable item or issue.

  • Analytics: Get insights into all your Plane data in real-time. Visualize issue data to spot trends, remove blockers, and progress your work.

  • Drive (coming soon): The drive helps you share documents, images, videos, or any other files that make sense to you or your team and align on the problem/solution.

🛠️ Quick start for contributors

Development system must have docker engine installed and running.

Setting up local environment is extremely easy and straight forward. Follow the below step and you will be ready to contribute -

  1. Clone the code locally using:
    git clone https://github.com/makeplane/plane.git
    
  2. Switch to the code folder:
    cd plane
    
  3. Create your feature or fix branch you plan to work on using:
    git checkout -b <feature-branch-name>
    
  4. Open terminal and run:
    ./setup.sh
    
  5. Open the code on VSCode or similar equivalent IDE.
  6. Review the .env files available in various folders. Visit Environment Setup to know about various environment variables used in system.
  7. Run the docker command to initiate services:
    docker compose -f docker-compose-local.yml up -d
    

You are ready to make changes to the code. Do not forget to refresh the browser (in case it does not auto-reload).

Thats it!

❤️ Community

The Plane community can be found on GitHub Discussions, and our Discord server. Our Code of conduct applies to all Plane community chanels.

Ask questions, report bugs, join discussions, voice ideas, make feature requests, or share your projects.

Repo Activity

Plane Repo Activity

📸 Screenshots

Plane Views

Plane Cycles and Modules

Plane Analytics

Plane Pages

Plane Command Menu

⛓️ Security

If you believe you have found a security vulnerability in Plane, we encourage you to responsibly disclose this and not open a public issue. We will investigate all legitimate reports.

Email squawk@plane.so to disclose any security vulnerabilities.

❤️ Contribute

There are many ways to contribute to Plane, including:

We couldn't have done this without you.

S
Description
🔥 🔥 🔥 Open Source JIRA, Linear, Monday, and Asana Alternative. Plane helps you track your issues, epics, and cycles the easiest way on the planet.
Readme 465 MiB
Languages
TypeScript 74.8%
Python 21.5%
HTML 2.1%
CSS 0.7%
JavaScript 0.5%
Other 0.4%