Introducing Plane: Simple, Extensible, Open-Source Project Management Tool
Manage issues, sprints, and product roadmaps with peace of mind.
This blog is originally published on BetterProgramming on Medium.
Plane is a simple, extensible, open source project and product management tool powered by AI. It allows users to start with a basic task tracking tool and gradually adopt various project management frameworks like Agile, Waterfall, and many more.
In this blog post, I will explain some of the main features of Plane and how they can help you plan your big projects or products more effectively and quickly.
Plane is built using a carefully selected tech stack, comprising Next.js for the frontend and Django for the backend. We utilize PostgreSQL as our primary database and Redis to manage background tasks. Additionally, our architecture includes two microservices, Gateway and Pilot. Gateway serves as a proxy server to our database, preventing the overloading of our primary server, while Pilot provides the interface for building integrations. We have also developed an AI service based on OpenAI, incorporating LangChain as an interface.
Selecting the appropriate tech stack for Plane was a challenging task. Initially, we planned to write all of our REST APIs in Node.js. However, we pivoted from this idea due to issues encountered with warm/ cold lambda and ORMs on Vercel. We found that building REST APIs were faster and more reliable when using fewer Node packages. Although our decision was purely opinion-based, we are satisfied with the outcome.
Currently, Plane Cloud is hosted on Vercel for frontend deployment and on Amazon EC2 for backend services. You can self-host your own version of Plane using our Docker images or Docker Compose, which are readily available in our repository.
Setting up the Plane server is a breeze! You can easily do it by running a simple command using docker-compose from your terminal. Whether you prefer working on your local machine or cloud provider, Plane server is packaged as a Docker container.
git clone < https://github.com/makeplane/plane >
Plane is also on DockerHub, you can install it with one command.
To run a Plane server on your local machine and listen on port 80, use the following command
docker run -e NEXT_PUBLIC_API_BASE_URL="< http://localhost >" -e DATABASE_URL="< EXTERNAL_DATABASE_URL >" -e REDIS_URL="< EXTERNAL_REDIS_URL >" -p 80:80 makeplane/plane
It's very easy to get your team started on Plane. After signing up, you can create a workspace and invite your team. Then, you can create projects within the workspace and add your team members to them.
Self-hosters can configure their email services by configuring ENV keys, and use all the emailing features on Plane.
Issues are the fundamental building blocks of Plane, similar to blocks in Notion. All of your activities on Plane are linked to issues, enabling you to complete tasks assigned to you.
As soon as you start a project, you can begin creating issues by pressing the C shortcut key. You can use the I'm Feeling Lucky option located just below the title to allow AI to generate a description, or you can click on the AI button to prompt for a description.
You can view all the issues in a project using three different views: List, Kanban, and Calendar. The List and Kanban views are simple to understand. The Calendar view shows the issues with due dates, which gives you a better idea of deadlines.
Plane's simple UI makes it easy to add issue details. You have access to a rich text editor with markdown and image upload support to add all the resources and information needed to complete your issue.
On the right-hand sidebar, you can find all the issue sub-properties like state, estimate, priority, due date, assignee, and collaboration tools to help you prioritize issues.
In Plane, a cycle is a specific period of time during which a team works on completing items on their backlog. Typically, by the end of the cycle, the team would have built and implemented a new version of their project or product.
Only one cycle can be active at a given time, while the others can be in a completed or upcoming state.
Creating cycles and adding issues inside them is very easy. You can use the shortcut key Q to create a new cycle. Inside the cycle, you can either create new issues or bulk add issues from the backlog with just a few clicks.
To plan the scope, you can utilize the burndown chart and the Assignees and Labels scopes found in the right-hand sidebar.
Modules are smaller, focused projects that help you group and organize issues within a specific time frame. They allow you to break down your work into manageable chunks and track progress towards specific goals or objectives.
When we were building Plane, we categorized all the integrations and importers into two modules. This helped us keep track of the number of integrations and importers that were shipped within a given time frame.
Plane's Views allow you to customize your issue properties by adding filters and grouping them according to your preferences. You can apply these customizations to Lists or Kanban views, or create and save them separately to share with your team.
Pages in Plane allow you to take notes quickly during stand-ups or meetings and convert them into issues with just a few clicks. Think of Pages as an AI-powered notepad that you can use to enhance your writing or add descriptions to your issue blocks with the help of GPT.
You can move blocks from Pages to issues and sync them to automatically copy all the descriptions to the issues.
Plane offers a wide range of customizations, including the ability to update your workflows and work with your favorite themes.
Everything, open-source so you can customize based on your requirements.
By using shortcuts and the command menu, you can work more efficiently in Plane.
The command menu provides a global search feature that allows you to navigate to any page or issue within seconds. Additionally, while working within issues, you can update all the properties with the command menu, without even touching your mouse.
Plane currently offers two integrations—GitHub Sync and Slack.
Plane currently offers two importers, JIRA and GitHub. With these importers, you can easily bring in all the issues, sprints, and epics to Plane by simply setting up tokens.
Currently, these integrations and importers are only available on the cloud version. We plan to open-source our SDKs in the near future so that the community can request or contribute integrations as needed.
In this post, I have highlighted some of the core features of Plane. In upcoming posts, we will discuss more about the AI features and the highly requested Plane Analytics feature.
We are still in the early stages of development, and we appreciate the community's feedback and support. In the meantime, I encourage you to visit the Plane Official Docs to learn more about the various features that Plane offers to developers and users.
If you like this project and wish to contribute, you can do so by opening new issues or sending new pull requests in the project's GitHub repository.