Skip to content

Web application for displaying the contents automatically retrieved from a code repository by applying the Software Metadata Extraction Framework (SOMEF)

License

Notifications You must be signed in to change notification settings

SoftwareUnderstanding/SOMEF-Vider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SOMEF Vider

Web application for SOMEF

Description

SOMEF Vider is a web application based on Vue.js and Flask to visualize the metadata retrieved from the SOMEF API.

Demo

We have a running demo in https://somef.linkeddata.es. If the demo is down, please let us know by opening an issue.

Development Installation

In the development installation client and service are independent. They are mounted and executed separately from each other.

Dependencies

  • npm 6.14.8
  • Python 3.9

Installation

Clone this repository

$ git clone https://github.com/SoftwareUnderstanding/SOMEF-Vider.git      

Client

Before installation, configure the target server in client/src/service/axiosService by changing the variable LOCAL_URL. For local tests, use 127.0.0.1:5000 (assuming the application is deployed in that port).

Install dependencies for client

$ cd SOMEF-Vider/client/
$ npm install

Run client

$ npm run serve

Service

Install dependencies for server

cd SOMEF-Vider/server/
python3.9 -m venv virtualenv/
source virtualenv/bin/activate 
python -m pip install -r requirements.txt --no-dependencies
python -m nltk.downloader all

Run service. Ports can be configures in app.py

python app.py

Production installation

It follows roughly the same process as the development installation but, in this case, the client is compiled and integrated into the flask service.

Go to the client folder and install the dependencies if they are not installed.

$ cd SOMEF-Vider/client/
$ npm install

Now instead of running the client, execute the following command to build it:

$ npm run build

This will generate a new folder in the current directory called "dist" with all the client files compiled. To integrate this files in the service, just move the folder "dist" to the service folder and rename it to "static".

$ mv dist ../server/static

This last 2 mandates are (for now) the only difference between development and production. To run the tool follow the steps listed above at the "Service" section.

To generate the bundle with Docker, see the client deployment instructions.

Docker bundle

If you want an image of the whole application, you can generate a Docker image as follows:

First configure the GitHub token in the /server/installer.sh setting the property token to the desired GitHub token. (ensure that this file is marked as executable)

Then run the Docker command in the root directory

docker build -t somef-vider .

And run the container

docker run -p 5000:5000 somef-vider

Now you will have the complete application running on the port 5000

Authors

  • @Vitoriox: design and implementation
  • @dgarijo: supervision, testing and deployment

Contributing

If you find problems or if you wish to add new features, please let us know by opening an issue or submitting a pull request.