wasikm04 / ShareFiles

Web application created to store and share files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ShareFiles

1.Opis

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.

2.Budowa

  • 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.

3.Wymagania

  • 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

4. Przykładowe widoki aplikacji

About

Web application created to store and share files


Languages

Language:Python 60.6%Language:HTML 33.3%Language:JavaScript 6.1%