Podsumowanie projektu AgendaEditor 2016

W poprzednim roku wziąłem udział w konkursie Daj Się Poznać 2016. Miałem wiele różnych pomysłów, jednak wybrałem edytor agendy. Aplikacja ma zautomatyzować prace wykonywaną w Excelu i Wordzie.

Projekt AgendaEditor był rozwijany na GitHubie: https://github.com/mkczyk/agenda-editor/

Pełna wersja aplikacji nie powstała, ale udało mi się zrobić założoną wersję MVP (Minimum Viable Product – minimalna wersja produktu). Ostatnia wersja wyglądała tak (tutaj ostatni wpis z aktualizacją).

Dzięki konkursowi i rozwojowi projektu, powstał też prawie-kurs AngularJS. Nie jest to dokładnie forma kursu, ale w większości co drugi post dotyczył samego Angulara, a każdy kolejny zastosowania wiedzy w praktyce. Dlatego na blogu najlepiej wpisy czytać od końca (w kolejności dodawania). Tutaj wygodna kolejność:

Funkcjonalności jakie zakładam do dodania, to:

  • Import danych z Google Docs (jak robimy formularz zgłoszeniowy, to dane lądują w arkuszu Google Sheets; zamiast ręcznie kopiować, dane mogłyby automatycznie lądować w edytorze po podaniu linku).
  • Generowanie agendy w formie ogłoszenia (PDF/DOC/DOCX/PNG).
  • Dodawanie przerw (nie tylko wystąpień).

Obecnie dużo da się zrobić po stronie klienta. Ale spodziewam się, że wreszcie przyda się backend i będę mógł pisać o Javie i Springu.

Wartymi rozważenia funkcjonalnościami jeszcze są:

  • Automatyczne tworzenie ankiet Google Forms przez API. Często na konferencje/seminaria formularze zgłoszeniowe tworzone są własnie tam. Aplikacja mogłoby robić takie formularze automatycznie (a może i od razu pobierać link do arkusza).
  • Aby utworzyć formularz, wymagane są uprawnienia. Dlatego należy dodać logowanie przez Google OAuth 2.
  • I tutaj może już być wymagany backend. Przechowywanie w bazie zarejestrowanych użytkowników czy implementacja OAuth (przechowywanie niejawnych kodów aplikacji).

Chciałem również pobawić się sztuczną inteligencją (Machine Learning, Deep Learning np. TensorFlow lub Deeplearning4j). Ale w takiej aplikacji nie mam pomysłu jakie mogłoby mieć tu zastosowanie. Początkowo chciałem zaprzęgnąć uczenie maszynowe do pobierania danych ze zgłoszeń przez emailowych (często organizatorzy konferencji w ten sposób mają rejestrację – a potem trzeba szukać gdzie jest tytuł wystąpienia, kto się zgłosił itd.). Ale po pierwsze nie miałbym dużo danych uczących. A po drugie chyba lepiej próbować zachęcać do korzystania z formularzy zamiast pisania emaili ze zgłoszeniami (a co jakby zgłoszeń było 500?). Może uda się zastosować uczenie maszynowe w innym miejscu (np. wykrywanie pól w arkuszu z danymi). Albo po prostu pobawię się poza tym projektem (zobaczymy czy mi czas pozwoli).

2 responses on “Podsumowanie projektu AgendaEditor 2016

  1. Box

    Bawiłem się dokumentami google w pythonie, problem jaki napotkałem to krótki czas życia sesji. Praktycznie przy każdej operacji na arkuszu dla pewności trzeba było jeszcze raz otworzyć arkusz. Poza tym czas odpowiedzi, nawet pobranie wartości z jednej komórki był rzędu 2000-3000 milisekund, ale to być może wina biblioteki 😀
    Jestem ciekaw jak to będzie wyglądać w Javie, a widzę, że ten projekt rozwija się w bardzo fajnym kierunku, na pewno będę śledzić bloga 😉 Powodzenia

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *