2021-01-19 21:36:43 +01:00

67 lines
2.4 KiB
Markdown

# 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](#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
* 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
The relevant folder where all images are uploaded to is called `AIC Federated Storage Infrastructure`.