federated-storage/README.md
2021-01-19 21:36:43 +01:00

2.4 KiB

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.