This repository host the BIMData Platform project. The Platform is a Vue 3.x application bundled with Vite.
You need:
- Node v14+
- Vue 3.x
- see platform-back for backend requirements
In order for the platform to work properly it should be able to interact with its backend service. The platform-back repository host the source code of the service.
The backend is a python app built with Django REST framework.
You should refer to its README to set it up on your development
environment before moving to the application setup.
Here are the instructions to get the platform up and running on your development environment:
- (1) Get the sources
$ git clone [email protected]:bimdata/platform.git
$ cd platform/
- (2) Install dependencies
$ npm install
- (3) Setup local env
$ cp .env.example .env.local
Open .env.local
with your favorite text editor and set the variable VUE_APP_OIDC_CLIENT_ID
to one of your client ID.
If you don't know what a "client ID" is then you should have a look at
the documentation
and follow the steps to create an application.
- (4) Run the platform
$ npm run dev
- (5) Have a coffee and start coding... ☕
</>
This project comes with a set of end-to-end tests built with Cypress.
Before you can run the tests you need to have a working test environment. To do so copy the example env file:
$ cp cyress.env.json.example cypress.env.json
Then open it and set variables values as appropriate:
- APP_BASE_URL: will be used by Cypress as baseUrl
- AUTH_BASE_URL: authentication server
- IAM_BASE_URL: identity server
Start the platform locally (only needed if your APP_BASE_URL point to localhost
):
npm run dev
Finally start and open Cypress using the following command:
$ npm run test:e2e
In order for the tests to work properly you must run the setup tests first. This will create random test users that will be used in all other tests.
Once your tests are completed you can run the teardown tests to delete tests users.
The platform can be built for production like environment using the following command:
$ npm run build
This will create a dist/
directory that contain the bundled application ready to be deployed.
There are 3 process banches: develop
, release
and master
.
develop
is the main development branch. All feature branches should be merged intodevelop
using pull requests.release
is the pre-production branch. All fix branches should be merged intorelease
using pull requests. The release branch must be merged intodevelop
once a PR is merged.master
is the production branch. The release branch must be merged intomaster
once a release is ready.
This setup allows us to have unstable features in develop
while not blocking fix to be shipped in production.
When a new version of the Viewer is released, the develop
branch is automatically updated to use this version.
When a new stable version of the Viewer is released, the release
branch is automatically updated to use this version.
When adding code in develop
branch it will trigger an update on POEditor.
The content of this repository is published under the terms of the GNU LGPL-3.0.
You are free to copy, modify, and distribute BIMData Platform under the terms of the LGPL 3.0.
See LICENSE for more details.