2021-01-19 21:36:43 +01:00
2021-01-19 20:46:50 +01:00
2020-11-17 19:43:35 +01:00
2021-01-16 17:45:08 +01:00
2020-11-28 20:32:02 +01:00
2020-11-26 19:15:46 +01:00
2021-01-19 21:36:43 +01:00

AIC Federated Storage Project

Teammembers

  • Tobias Eidelpes (01527193)
  • Manuel Hude (01502712)
  • Martin Schett (01633073)
  • Martin Weick (01627760)
  • Marco Zeisler (01628030)

Who worked on what?

  • Tobias Eidelpes - Update Functionality, Docker Deployment, AWS Config, Presentation 2
  • Manuel Hude - Mongo DB CRD, Parts IoT Client, Docker Deployment, Presentation 1
  • Martin Schett - IoT Client, Recovery Logic, AWS Config, Dropbox Service, Presentation 1
  • Martin Weick - AWS Service, IoT Client Simulation, Presentation 2
  • Marco Zeisler - Hashing, User Frontend, Presentation 2

How to start the program

  • In the project root run: docker-compose up --build -d
  • Go to http://localhost:8080 for the frontend
  • Run docker ps to see the container ID of the image aic_g4t2_iot_client
  • Enter docker exec -it <ContainerID> /bin/bash to get a shell of the IoT-Client
  • To start the simulated IoT-Client, run python iot_client.py -t

Alternatively you can use the provided Makefile:

  • Run make start to start all containers
  • The frontend should now be available at http://localhost:8080
  • To get into the IoT-Client, run make iot (needs grep and awk)
  • python iot_client.py -t will start the simulation

Technologies used

  • Python 3.8.6 with Django for the backend
  • Angular 9 for the frontend
  • Dropbox API for storing images
  • AWS S3 for object storage
  • MongoDB for storing metadata

Detailed description of a usecase

Follow: How to start the program to setup the program. To simulate that a device sent some picture enter trigger into the iot_client. You can now see the pictures distributed over the different storages. Write set 0 to position the cursor to the first image sent. Issue update to update the image. The new image shows up in the dashboard and a new version in the corresponding storages is created. Navigate to the Map in the frontend and reload it to see a location marker where the image was taken.

Credentials for AWS and Dropbox

AWS

Dropbox

The relevant folder where all images are uploaded to is called AIC Federated Storage Infrastructure.

Description
Project carried out as part of the Advanced Internet Computing course at TU Wien in 2020WS
Readme 11 MiB
Languages
Python 55.2%
TypeScript 23.2%
HTML 11.5%
Dockerfile 2.2%
JavaScript 2.2%
Other 5.7%