Эта учебная работа выполнена с целью:
- приобрести навыки в программировании на Dart (клиентская часть) и,
- написать api приложения на PHP (серверная часть).
Работа велась с тем багажом знаний, которые есть на данный момент, потому некоторые решения далеко не идеальны. Мне не верится в то, что можно прочитать книжку, а потом сразу сделать все как надо. Прежде чем что-то читать мне требуется некоторая практическаю основа. Из технических моментов следует отметить, что для аутентификации был применен JWT, а для хранения токена на клиенте - IndexedDB.
Приложение разворачивалось на локальном компьютере(ОС из семейства Ubuntu). Требуются:
- Dart SDK,
- PHP,
- MySQL или MariaDB.
Клонируете данный репозиторий к себе на компьютер
$ git clone https://github.com/navt/web-app.git
Создаёте MySQL базу данных, импортируете дамп /web-app/web/data/db.sql
в вашу БД.
Корректируете /web-app/web/php-lib/values.ini
в соответствии со своими значениями.
В репозитории нет готовых JS файлов, их потребуется скомпилировать.
$ cd web-app
$ mkdir web/js
$ dart compile js -O1 -o web/js/add.dart.js web/bin/add.dart
Скомпилировать нужно все файлы из директории /web-app/web/bin
.
Запускаете встроенный web-сервер PHP
$ cd web-app
$ cd web
$ php -S localhost:8000
В браузере переходите по адресу http://localhost:8000
Для входа используете пару логин / пароль: demo@demo.ru / qwerty
.