Huly — All-in-One Project Management Platform (alternative to Linear, Jira, Slack, Notion, Motion)
Go to file
Maksim Karmatskikh f8e00ed880
Fix TAB behaviour for forms: add a condition when to prevent default behaviour (#3508)
Signed-off-by: Maksim Karmatskikh <mkarmatskih@gmail.com>
Co-authored-by: Maxim Karmatskih <mk@jetstyle.co>
2023-07-19 23:09:08 +06:00
.github Bump version and few cleanups (#3483) 2023-07-06 12:55:22 +07:00
.vscode UBER-496: Fix few issues (#3439) 2023-06-16 18:29:07 +07:00
common bump-v0.6.110 (#3489) 2023-07-10 10:52:33 +06:00
dev Fill calendar config (#3501) 2023-07-14 12:05:19 +06:00
models UBER-593: hyperlink editor (#3506) 2023-07-19 18:46:03 +06:00
packages Fix TAB behaviour for forms: add a condition when to prevent default behaviour (#3508) 2023-07-19 23:09:08 +06:00
plugins UBER-461 Fix twice click in filters (#3511) 2023-07-19 18:47:07 +06:00
pods UBER-535 (#3486) 2023-07-10 21:50:29 +06:00
products/tracker TSK-1009: Configurable platform (#3055) 2023-04-25 14:34:10 +07:00
server TSK-1574: Accurate time reports count (#3509) 2023-07-19 18:46:25 +06:00
server-plugins ATS-9: update states once template updates (#3496) 2023-07-13 10:01:28 +06:00
templates TSK-1150: Rollback svelte (#2966) 2023-04-12 23:46:28 +07:00
tests TSK-1574: Accurate time reports count (#3509) 2023-07-19 18:46:25 +06:00
tools/apm Enable build cache (#3446) 2023-06-21 12:33:00 +07:00
.gitattributes UBER-477: Uberflow dependencies (#3440) 2023-06-20 12:47:00 +07:00
.gitignore Update sanity DB restore (#2836) 2023-06-09 16:36:55 +06:00
.npmrc Migrate to hcengineering and publish to github packages (#2273) 2022-09-21 14:08:25 +06:00
.nvmrc Configurable OpenAI (#2529) 2023-01-24 20:42:47 +07:00
.prettierrc Prettier config file (#319) 2021-11-17 14:28:22 +01:00
changelog.md Bump version to 111 (#3500) 2023-07-13 20:34:56 +06:00
LICENSE Initial commit 2021-08-02 21:39:24 +02:00
package-lock.json emojis (#2109) 2022-06-21 13:55:17 +06:00
README.md Bump version and few cleanups (#3483) 2023-07-06 12:55:22 +07:00
rush.json Publish rpc (#3487) 2023-07-07 16:47:02 +07:00

Anticrm Platform

Anticrm Platform is a framework that help building business applications (such as CRM) fast. Current exemplary applications include Chat, Issue Management(Tracker), and Applicant Tracking System, Boards, Leads, HR.

Installation

You need Microsoft's rush to install application.

Install rush with $ npm install -g @microsoft/rush command and run $ rush install from the repository root, followed by $ rush build.

Build and run

Development environment setup require Docker to be installed on system.

Supported both amd64 and armv8(arm64) containers on Linux and Macos.

cd ./dev/
rush build    # Will build all required packages.
rush bundle   # Will prepare bundles.
rush docker:build   # Will build docker containers for all applications in local docker environment.
docker-compose up -d --force-recreate # Will setup all containers

By default docker volumes dev_db dev_elastic dev_files will be created for mongo/elastic/minio instances.

Before we could start we need to create workspace/account and associate it with workspace.

cd ./tool
rushx run-local create-workspace ws1 -o DevWorkspace # Create workspace
rushx run-local create-account user1 -p 1234 -f John -l Appleseed # Create account
rushx run-local configure sanity-ws --list --enable '*' # Enable all modules, then if they are not yet intended to be used by wide audience.
rushx run-local assign-workspace user1 ws1 # Assign workspace to user
rushx run-local confirm-email user1 # To allow create of more test workspaces.

Following URL http://localhost:8087 will lead us to app in production mode.

Limitations:

  • Location installation do not allow to send emails, so password recovery and notification to email functionality is not working.
  • Telegram/Gmail/Content integrations are available only as docker container and they are build from private repository sources, but could be used with platform.

Run in development mode

Development mode allow to live reload and smooth development process.

cd dev/prod
rushx dev-server

Then go to http://localhost:8080

Update project structure and database

If projects structure is updated it might be needed to relink and rebuild projects.

rush update
rush build

It also might be required to upgrade running database.

cd ./dev/tool
rushx upgrade

In cases when project doesn't build for any logical reason try:

rush update
rush build --clean

Tests

Unit tests

rush test # To execute all tests

rushx test # For individual test execution inside a package directory

UI tests

cd ./tests
rush build
rush bundle
rush docker:build
## creates test docker containers and setups test database
./prepare.sh
## runs UI tests
rushx uitest

To execute tests in development environment, please do following steps:

cd ./tests
./create-local.sh ## use ./restore-local.sh to just restore sanity workspace to predefined initial state.
cd ./sanity
rushx dev-uitest # To execute all tests against the development environment.
rushx dev-debug -g 'pattern' # To execute tests in debug mode with only test matching pattern.

Package publishing

node ./common/scripts/bump.js -p projectName

Additional testing

This project is tested with BrowserStack.