# 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 -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 /bin/bash` to enter the shell of the iot_client * Get a usage message by entering `help` ## Technologies used * Python 3.8.6 with Django for the backend * Angular 9 for the frontend * Dropbox API for an image storage * AWS S3 as an object storage * MongoDB as a metadata storage ## Detailed description of a usecase Follow: [How to start the program](#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 dashboand and a new version in the corresponding storages is created. Navigate to the Map in the frontend to see a location marker where the image was taken. ## Credentials for AWS and Dropbox ### AWS * Login URL: https://www.awseducate.com/student/s/ * Mail: e1633073@student.tuwien.ac.at * Passwort: OH2uMfNTwlOYBB364zqf! * Bucket: https://s3.console.aws.amazon.com/s3/buckets/aic-fun-bucket-2020?region=us-east-1&tab=objects ### Dropbox * Username: e01633073@student.tuwien.ac.at * Password: aicdropboxpassword