-
Notifications
You must be signed in to change notification settings - Fork 1
Functionality Requirements and Vision
Zakres funkcjonalności:
- wyświetlanie dokumentów
- tworzenie nowych dokumentów
- import/eksport do jednego formatu (import z ODT, eksport do PDF)
- zapisywanie/wczytywanie dokumentów z bazy
- obsługa kont
- prosty toolkit
- formatowanie tekstu
- pogrubienie, italiki, podkreślenie
- wyrównanie tekstu
- wypunktowanie
- zmiana rozmiaru czcionki
- wstawianie obrazków
- tryb offline
- integracja z GoogleDocs
Model przesyłanych danych będzie w json'ie. Model
Dane będą trzymane w bazie MongoDB, gdyż jest to jedna z najbardziej popularnych baz NoSQL i istnieją biblioteki do integracji z Django w którym będzie stworzony serwer. Każdy dokument w bazie będzie miał odpowiedni wpis, dodatkowo będzie istnieć odpowiednia struktura w bazie definiująca użytkowników.
Wykorzystanie biblioteki socket.io (po stronie serwera django-socketio) do komunikacji poprzez WebSocket. Do komunikacji z bazą, zostanie wykorzystana biblioteka MongoEngine.
Diagram architektury systemu:
Klient (javascript, po stronie przeglądarki z użyciem jQuery) oraz serwer (django) komunikują się przy pomocy WebSocketów (biblioteka socket.io po stronie klienckiej, django_socketio po stronie serwera). Dla każdego nowego klienta, który uruchomi aplikację jest tworzony socket przez który komunikuje się z serwerem. Serwer przechowuje dane w bazie dokumentowej (mongoDB) z użyciem biblioteki MongoEngine. W ramach pracy w trybie offline zmiany użytkownika na dokumentach będą zapisywane lokalnie i synchronizowane z serwerem w momencie uzyskania połączenia. Dodatkowo klient komunikuje się z chmurą Google Drive poprzez API (żądania do chmury nie przechodzą przez serwer), dzięki czemu może korzystać z możliwości pracy z chmurą, w tym eksport i import dokumentów.
