nikoma / 4gaBoards

The realtime kanban boards for groups

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

4ga Boards

GitHub release (latest by date)GitHubGitHub contributors

Kanban boards inspired by discontinued Gitkraken Glo Boards.

We'll work on a demo when we finish all tasks from the #1 issue.

Features

  • Create projects, boards, lists, cards, labels and tasks
  • Add card members, track time, set a due date, add attachments, write comments
  • Markdown support in a card description and comment
  • Filter by members and labels
  • Customize project background
  • Real-time updates
  • User notifications
  • Internationalization

Deploy

There are 2 types of installation:

  1. Dockerized
  2. Without Docker

1. Docker Compose

  • Make sure you have Docker and Docker Compose installed and operational.
  • Create docker-compose.yml based on the example. This is the ONLY file you will need. You can create this file on your machine by copying and pasting the content or download it:
curl -L https://raw.githubusercontent.com/RARgames/4gaBoards/main/docker-compose.yml -o docker-compose.yml
  • Edit BASE_URL to match your domain name or IP address.
  • Edit SECRET_KEY with random value. You can generate it by openssl rand -hex 64.
  • Replace 2 occurrences of notpassword with generated db password in POSTGRES_PASSWORD and DATABASE_URL.

Pull images and start services:

docker compose up -d

Default url: http://localhost:3000 Demo user: demo Demo password: demo

2. Without Docker

Installing without Docker is a bit more complicated, here's what you need to do:

  1. Clone this repository into a directory of your choice. (e.g. /var/www/4gaBoards)
mkdir -p /var/www/4gaBoards
cd /var/www/4gaBoards
git clone https://github.com/RARgames/4gaBoards.git .
  1. Install dependencies, build client, copy build to the server directory.
npm i
npm run client:build

cp -r client/build server/public
cp client/build/index.html server/views/index.ejs

Note: You can use yarn or pnpm instead of npm.

  1. Configure environment variables.
cp server/.env.sample server/.env

# Edit .env file (You could use nano, vim, etc.)
nano server/.env

Note: Before continuing, make sure you have your selected database created and running.

  1. Copy start script from the root directory to the server directory and start the server.
cp start.sh server
cd server
./start.sh

Note: You can use pm2 or systemd to run the server in the background.

Default url: http://localhost:1337 Demo user: demo Demo password: demo

Backup and Restore

To backup your data use: ./boards-backup.sh db_password

To restore it use: ./boards-restore.sh db_password 4gaBoards-backup.tgz

Import from Trello

It's already available in 4ga Boards. Just add a project, then click Import while creating a new board.

Development

Clone the repository into a directory of your choice, install dependencies, copy .env:

git clone https://github.com/RARgames/4gaBoards.git .
npm i
cp server/.env.sample server/.env

Either use a local database or start the provided development database:

docker compose -f docker-compose-dev.yml up

Edit DATABASE_URL in server/.env if needed, then initialize the database:

npm run server:db:init

Start the development server:

npm start

Demo user: demo Demo password: demo

Tech stack

  • React, Redux, Redux-Saga, Redux-ORM, Semantic UI React, react-beautiful-dnd
  • Sails.js, Knex.js
  • PostgreSQL

License

4ga Boards are MIT licensed.

Project was separated from Planka by meltyshev to preserve the MIT license, change project vision, and add some new features.

About

The realtime kanban boards for groups

License:MIT License


Languages

Language:JavaScript 92.2%Language:SCSS 7.2%Language:Shell 0.2%Language:HTML 0.2%Language:CSS 0.1%Language:Dockerfile 0.1%