Aplikacja została stworzona w ramach przedmiotu Programowanie Aplikacji Mobilnych i Webowych prowadzonego na Informatyce Stosowanej na Politechnice Warszawskiej.
Aplikacja zbudowana jest z kilku serwerów mających za zadanie współpracować ze sobą w celu umożliwienia użytkownikowi przechowywania kilku plików i udostępniania innym.
-
Serwer aplikacji webapp.py
-
Serwer plików dl.py Obia serwery zostały napisane w Pythonie z wykorzystaniem Flask, do zabezpieczenia komunikacji wykorzystują tokeny JWT. Sesje użytkowników są przechowywane w bazie Redis. Dostęp do aplikacji uzyskuje się poprzez logowanie, można zamiast tego uruchomić serwer webapp_auth0.py który pozwala na pobranie danych od innych dostawców usług wykorzystując standard OAuth.
-
Serwer tworzący ikony plików receiver.py wykorzystujący klient Pika do pobierania zadań zakolejkowanych przez serwer plików w RabbitMQ. Jego zadaniem jest pobieranie dodanych plików graficznych w celu utworzenia na ich podstawie ikon o rozmiarze 64x64.
-
Serwer Server-Sent Events sse.js napisany w node.js z wykorzystaniem Express. Jego celem jest odbieranie od serwera plików sygnałów o dodaniu nowego pliku i wysłaniu powiadomienia o tym do nasłuchujących aplikacji odpowiedniego użytownika.
- Nginx(dostępne pliki .ini dla webapp i dl)/ Apache z mod_wsgi
- Zainstalowany i uruchomiony serwer Redis z zainicjowanymi użytkownikami za pomocą skryptu redis_init.py
- Import Express
- Importy Flask, Jinja2, werkzeug, Pika, jwt, redis, authlib.flask.client