- Releases
- Documentation
- Infrastructure
- Setup
- Common issues
- Git workflow
- Code style
- Third party software and license
- Install docker >20 version & docker-compose >1.29.2 verison
- Clone the project
- Clone into the plasticine/services folder:
- Run the file: plasticine/scripts/run.sh
- Select default project
- Select Docker compose workflow
- Run Build to install node modules and build service images
- Run Up and select active services. The default is:
- backend
- frontend
- minio
- nginx
- postgres
- redis-core
- redis-custom
- Wait until all services being started up then enter localhost in the browser's url bar. Credentials:
- Login: [email protected]
- Password: password
- Docker Desktop
- Minikube
- Helm
- Start Docker Desktop
- Start Minikube:
- minikube start --mount --mount-string="$PLASTICINE_PATH:/src/plasticine"
- Enable Ingress addon
- minikube addons enable ingress
- Build images into Minikube VM:
- minikube ssh
- cd /src/plasticine && docker build -f ./frontend/Dockerfile -t plasticine/frontend .
- cd /src/plasticine/backend && docker build -t plasticine/backend .
- cd /src/plasticine/services/mc-proxy && docker build -t plasticine/mc-proxy .
- cd /src/plasticine/services/libreoffice && docker build -t plasticine/libreoffice .
- cd /src/plasticine/backend && docker build -f Dockerfile.dev -t plasticine/backend:dev .
- cd /src/plasticine/frontend && docker build -f Dockerfile.dev -t plasticine/frontend:dev .
- cd /src/plasticine/services/mc-proxy && docker build -f Dockerfile.dev -t plasticine/mc-proxy:dev .
- cd /src/plasticine/services/libreoffice && docker build -f Dockerfile.dev -t plasticine/libreoffice:dev .
- exit
- Run storage services:
- cd $PLASTICINE_PATH/services/postgres && docker compose up
- cd $PLASTICINE_PATH/services/minio && docker compose up
- Run Plasticine Scripts:
- cd $PLASTICINE_PATH
- sh ./scripts/run.sh
- select default-minikube project
- select Minikube workflow
- select Install
- Open Dashboard:
- minikube dashboard
- select 'plasticine' namespace
- select 'Pods' and wait until all of them being started up
- Open Tunnel to be able to access system on http://localhost
- minikube tunnel
- Open two tabs in console
- On the first tab setup the postgres container:
docker-compose up postgres
- Other tab:
cat /path/to/backup.sql | docker exec -i $(docker ps -aqf "name=postgres") psql -U postgres
- Create a new branch from
develop
. Name it liketask-11111
where11111
is id of ticket from Redmine - When you make a new commit please add a ticket number:
Add #34234: some cool feature
Fix #34235: some weird bug
- Create a new merge request with name by the same template
- Add label to the merge request according to the rules
- Make a assignee
Dima Myrgorodsciy
for code review - Move the ticket to
Review
status, reassign toDima Myrgorodsciy (DM)
and fillBranch
fields
- node modules imports and project modules separated with 1 new line
- named imports below default imports
- import lodash without destructure (use less named imports)
- declarations/operations/conditions blocks separated with 1 new line
- no extra/missed new lines
- no extra/missed white spaces
- no extra async/await
- spaced { }/[ ]
- single quotes
- 2 space indent
Software | Use | Version | License |
---|---|---|---|
Docker | Infrastructure | 20.10.20 | Apache License |
Minio | Object storage | RELEASE.2022-01-27T03-53-02Z | Apache-2.0 |
PostgreSQL DB | Backend + Background | 13-3.2-alpine | GPL |
MySQL (as alternative DB) DB | Backend + Background | 5.7 | GPL |
Redis DB | Backend + Background | 6.2.6-alpine | BSD |
Node.js | Client + Backend + Background | 18.12.1 | MIT |
Express.js (REST API library for Node.js) | Backend | 4.17.3 | MIT |
WS (WebSocket library for Node.js) | Backend | 6.2.2 | MIT |
Bull (Redis-based queue for Node.js) | Background | 3.5.2 | MIT |
React.js | Client | 16.12.0 | MIT |
amCharts 4 | Client | 4.4.7 | Free amCharts License |
Lodash | Client + Backend | 4.17.21 | MIT |
Moment.js | Client + Backend | 2.29.2 | MIT |
Mapbox-GL | Client | 1.13.1 | BSD |