Skip to content
This repository has been archived by the owner on Mar 17, 2020. It is now read-only.

SmartAppUnipi/ArtGuide

Repository files navigation

ArtGuide

branch build status
master Build Status
ui Build Status
ia_beta Build Status
ir Build Status
adaptation_proto Build Status

Structure

The project is structured in 4 modules:

  • Mobile app: developed with Flutter, provides apk and ipa to be installed on both Android and iOS.
  • Image analysis: recognize entities and styles present in the image.
  • Information Retrieval: understand which kind of work of art is and retrieve information about that.
  • Adaptation: summarize and customize the information for the user.

Each module has its own README with further information.

How to run

Checkout the README.md files present in each module. You will need either Node.js and Python 3 or Docker (see below).

ENV variables with the API keys are needed, contact the teams to get them and please don't put them under version control.

Docker

The docker-compose.yml defines the containers settings.

Before running docker change routes.json as follows. Docker containers can access containers in the same network (automatically created by docker-compose) by using the container's name.

{
  "image" : "http://ia:2345/upload",
  "opus" : "http://ir:3000/",
  "text" : "http://adaptation:6397/tailored_text",
  "keywords" : "http://adaptation:6397/keywords"
}

Using docker-compose

# start
sudo docker-compose up --build
# stop
sudo docker-compose down

Build and run images individually

# build
sudo docker build -t art/ir -f ir.dockerfile .
sudo docker build -t art/ia -f ia.dockerfile .
sudo docker build -t art/adaptation -f adaptation.dockerfile .

# run
sudo docker run --name ir -p 3000:3000 art/ir
sudo docker run --name ia -p 2345:2345 art/ia
sudo docker run --name adaptation -p 6397:6397 art/adaptation

# stop
sudo docker rm -f ir ia adaptation

Test UI

APIs and communication can be tested by opening in a browser test.html without the need of an emulator for the mobile app.