This article is suitable for those who like to use efficiency tools and beginners of Go

Author: HelloGitHub- CAI Wenxin

Here is the “Open source project” series launched by HelloGitHub, an old friend who has maintained open source for more than 4 years.

Taskcafe is an open source project of project management tool based on Go+React. This project can be used as a practical project of Go Web. Readers who do not know Go can also easily install and use Docker.

Project address: github.com/JordanKnott…

Introduce a,

I believe that you have more or less come into contact with project management tools in your work. Project management tools can provide us with easy quantification of work content, efficient collaboration methods for the team, project progress visualization, and other help to improve our work efficiency and focus on goals. Taskcafe lets you quickly have your own task management tool that helps you record, manage, and track tasks to make your life and work more productive!

The most commonly used view mode in project management tools is Kanban, which is also known as the Holy Grail of project management tools. Taskcafe makes it easy to put everything on a kanban (task).

Taskcafe currently supports the following features:

  • Ensure that tasks, projects, task groups, etc. are validated (e.g., no Spaces for project names only)
  • Task view filtering
  • The user interface
  • Deadline notices and reminders
  • Project favorites
  • The team set up
  • The calendar view
  • The list shows
  • The task of fixed
  • , etc.

There are a wide variety of task management tools on the market, from MeisterTask to Zen Tao to Teambition. They range from simple to complex, and from basic to rich. Taskcafe is free, open source and easy to deploy. Let’s read on!

1.1 Private Deployment

The ability to build personal project management tools on the personal server without worrying about privacy and security issues and charges.

1.2 extensible

When using task management tools, there are always situations where existing tools cannot meet the requirements due to the particularity of their own business. Because Taskcafe is an open source project, you can add features that fit your workflow on your own.

1.3 Installation Methods

  • Docker
  • The source code

Considering that the audience for this project may include non-programmers, this article will demonstrate the most convenient way to install Docker.

Second, the installation

2.1 Docker

To prepare

  1. Docker installation documentation
  2. Docker-compose container orchestration installation documentation

Step 1 Clone project

git clone https://github.com/JordanKnott/taskcafe && cd taskcafe
Copy the code

Step 2 Run in the project root directory

docker-compose -p taskcafe up -d
Copy the code

Step 3 successful

Visit: http://localhost:3333

Three, use,

3.1 Creating the Admin user

3.2 Creating a Project

3.3 Creating a Kanban (List)

3.4 Adding a Task (Card)

You can add members, TODO lists, view action logs, add labels, add attachments, and more

3.5 Moving a Task

Taskcafe features are not described in detail, but click on the Web page to follow the project documentation. So go and practice it!

Iv. Technology stack

1.1 the front

Some functions are implemented by the well-known Kanban panel.

  • React
  • Typescript
  • GraphQL

2.1 the back-end

  • Golang
  • Chai is used to easily build the Restfull API
  • JWT user mode control
  • Postgres database
  • Machinery A distributed message queue

3.1 Project Structure

. ├ ─ ─ the README. Md ├ ─ ─ CMD │ ├ ─ ─ mage │ └ ─ ─ taskcafe │ ├ ─ ─ main. Go / / go boot file ├ ─ ─ frontend / / front-end engineering │ ├ ─ ─ the editorconfig │ ├ ─ ─ . Eslintignore │ ├ ─ ─. Eslintrc. Json │ ├ ─ ─ the gitignore │ ├ ─ ─ the prettierrc. Js │ ├ ─ ─ the storybook │ ├ ─ ─ a Makefile │ ├ ─ ─ Codegen. Yml │ ├ ─ ─ package. Json │ ├ ─ ─ public │ ├ ─ ─ the SRC │ ├ ─ ─ tsconfig. Json │ └ ─ ─ yarn. The lock ├ ─ ─ internal main content / / backend engineering │ ├ ─ ─ Auth │ ├ ─ ─ commands │ ├ ─ ─ the db │ ├ ─ ─ graph │ ├ ─ ─ logger │ ├ ─ ─ notification │ ├ ─ ─ the route / / routing registered │ └ ─ ─ utils ├ ─ ─ magefile. Go ├─ Migrations...Copy the code

The back end is written by Golang, which belongs to the application of Golang in Web projects. The front and back end separation mode is adopted. The number of apis is obviously reduced by using GraphQL.

If you are a Golang novice, it is highly recommended that you take a look at the Taskcafe source code. The project has a clear structure and very friendly comments, and is useful for use with Go middleware.

Five, the last

At this point, you should have a brief overview of the Taskcafe project and be able to successfully run it locally. I hope you can feel the charm of kanban by integrating your work, life and surroundings into your practical experience, and fully realize that everything can be put into kanban.

If this article can help you a little bit, please give me a thumbs up in the bottom right corner

Finally, you can follow the “HelloGitHub” public account to receive the first update.