Skip to content
/ browser Public

A graph view application that shows the associations between AIXM feature instances, bi-directionally.

License

Notifications You must be signed in to change notification settings

aixm/browser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIXM Browser version

Visualizing AIXM feature associations

AIXM Browser is a tool which evolves from AIXM browser that aims at visualizing the various features that can be found in an AIXM dataset along with their associations. The representation is made via an interactive graph where the user can explore the features and how they connect to each other in the specific dataset.

At this link browser.aixm.aero you can have a look at a demo of the tool and play around with preloaded AIXM datasets or upload your AIXM XML dataset files.

Installation

The project can get easily up and running in any machine regardless the running OS with the help of Docker.

Before proceeding to the next steps please make sure that you have installed on your machine:

Get the repository

git clone https://github.com/aixm/browser.git

Build server and client images

In the aixm-server directory:

make create

In the aixm-client directory:

make create

Run the containers and install backend application

In the browser directory:

docker compose up -d --force-recreate --build

In the aixm-server directory:

make install

Update

In case a new version of the tool is available you can update via the following steps:

Update the git repository

In the browser directory:

git pull --rebase origin master

Stop/remove the relevant containers

In the browser directory:

docker compose down

Build updated server and client images

In the aixm-server directory:

make create

In the aixm-client directory:

make create

Run the containers and update backend application

In the browser directory:

docker compose up -d --force-recreate --build

In the aixm-server directory:

make update

Backup DB data

If you want to do backup database data with day - week - month rotation, you should add the following job to cron on the host:

0 3 * * * docker exec -it aixm-postgres /usr/bin/backup.sh aixm -U aixm

Backups will be rotated and stored inside database container in the /tmp/data/backups folder which is mounted to host in docker compose file.

For developers

The project is divided in two parts: Server and Client.

The server is the backend where the uploading and processing of the datasets happens. The api is implemented with the Laravel framework.

Laravel Logo

The client is the frontend where the datasets are visualized. The interface is implemented with the Angular framework.

Angular Logo

In order to run the project locally on your machine for development and debug reasons you need to start the server and the client separately.

Server

In the aixm-server directory:

make up
make install

Client

In the aixm-client directory:

npm install
ng serve

Contributing

If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.

Angular Linting

Linting is a crucial aspect of software development, ensuring code quality, consistency, and reliability. In the world of Angular, ESLint has become the go-to tool for enforcing coding standards and catching potential errors.

Before pushing source code to the main branch, please do the following in the aixm-client directory:

npm run lint

or

npm run lint:fix

Updating libraries

The project does not use any special library except Laravel & Angular build in libraries. To keep them up to date please follow this guides:

Links

Licensing

See LICENSE

About

A graph view application that shows the associations between AIXM feature instances, bi-directionally.

Resources

License

Stars

Watchers

Forks

Packages

No packages published