Huly — All-in-One Project Management Platform (alternative to Linear, Jira, Slack, Notion, Motion)
Go to file
Denis Maslennikov 2238986bdb
TSK-421: Improve Core testing and coverage (#2387)
* Improve coverage for clients.ts

Signed-off-by: Denis Maslennikov <denis.maslennikov@gmail.com>

* Refactor and fix comments

Signed-off-by: Denis Maslennikov <denis.maslennikov@gmail.com>

* Fix typo

Signed-off-by: Denis Maslennikov <denis.maslennikov@gmail.com>

* Fix formatting

Signed-off-by: Denis Maslennikov <denis.maslennikov@gmail.com>

* Added 2 tests for hierarchy.ts

Signed-off-by: Denis Maslennikov <denis.maslennikov@gmail.com>

Signed-off-by: Denis Maslennikov <denis.maslennikov@gmail.com>
2022-11-23 21:45:08 +07:00
.github Reusable Platform (#2374) 2022-11-15 09:51:46 +07:00
.vscode Fixes to collaborator and documents (#2394) 2022-11-23 01:13:26 +07:00
cloud/app Migrate to hcengineering and publish to github packages (#2273) 2022-09-21 14:08:25 +06:00
common Fixes to collaborator and documents (#2394) 2022-11-23 01:13:26 +07:00
deploy k8s deployment use secret 2021-10-23 02:05:45 +02:00
dev Fix separation by productId (#2382) 2022-11-16 22:03:03 +07:00
models Add sprint members (#2392) 2022-11-22 18:39:37 +07:00
packages TSK-421: Improve Core testing and coverage (#2387) 2022-11-23 21:45:08 +07:00
plugins Merge pull request #2391 from hcengineering/tsk-433-comment-without-text 2022-11-23 15:52:57 +07:00
pods Fixes to collaborator and documents (#2394) 2022-11-23 01:13:26 +07:00
products/tracker Reusable Platform (#2374) 2022-11-15 09:51:46 +07:00
server Fixes to collaborator and documents (#2394) 2022-11-23 01:13:26 +07:00
server-plugins Fix separation by productId (#2382) 2022-11-16 22:03:03 +07:00
templates Rework documents (#2347) 2022-11-02 14:50:14 +06:00
tests Add verifications for some test steps (#2371) 2022-11-10 14:14:21 +06:00
tools/apm Reusable Platform (#2374) 2022-11-15 09:51:46 +07:00
.gitattributes add platform package 2021-08-03 03:40:40 +02:00
.gitignore Reusable Platform (#2374) 2022-11-15 09:51:46 +07:00
.npmrc Migrate to hcengineering and publish to github packages (#2273) 2022-09-21 14:08:25 +06:00
.nvmrc Add ".nvmrc" (#1276) 2022-04-05 11:20:25 +07:00
.prettierrc Prettier config file (#319) 2021-11-17 14:28:22 +01:00
.travis.yml add platform package 2021-08-03 03:40:40 +02:00
changelog.md Create Help Center (#2313) 2022-10-20 09:45:57 +07: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 Add task number field for the fulltext elastic search (#2291) 2022-10-10 17:32:12 +07:00
rush.json Fix separation by productId (#2382) 2022-11-16 22:03:03 +07:00

Anticrm Platform

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

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.

Run in development mode

cd dev/prod
rushx dev

Then go to http://localhost:8080/login:component:LoginApp and use following credentials to login into the system:

To connect to running local server dev-server command should be used instead.

Build and run inside docker

It is possible to setup all environment required with local docker containers. Supported both amd64 and armv8 containers.

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

# wait a few seconds delay, to be sure elastic is up and running.
./deploy/setup-es-attachment-pipeline.sh    # Setup elastic search plugin configuration.

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 ./dev/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 assign-workspace user1 ws1 # Assign worksapce to user

Following URL http://localhost:8087/login:component:LoginApp will lead us to app.

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

Tests

Unit tests

rush lint

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

Package publishing

npm login --registry=https://npm.pkg.github.com --scope=@hcengineering/anticrm
npm publish