task_test

Приложение с системой принятия решений (получит ли студен зачёт)

Для запуска приложения необходимо установить пакеты

(apt-get install (Ubuntu) / pacman -S (Arch) / brew install (Mac OS)):

npm, nodejs

Установка зависимостей

systemctl enable nginx
systemctl start nginx

Add virtual host:

echo "127.0.0.1     task.local" >> /etc/hosts

Конфигурация nginx

map $http_upgrade $connection_upgrade {
  default upgrade;
  ‘’ close;
}

upstream frontend {
  server 127.0.0.1:8080;
}

server {
  listen 80;
  server_name moon.local;
  client_max_body_size 100M;

  location / {
    proxy_pass http://frontend/;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection “upgrade”;
    proxy_set_header Host 127.0.0.1;
  }
}

frontend

cd frontend

Установка проекта

npm install

Компиляция и hot-reload для разработки

npm run serve

Сборка под продакшн

npm run build

Описание Front-End

При разработке данного SPA, я использовал WebPack, babel, AJAX, Vue.JS, Vuetify. Vuetify был использован для облегчения верстки проекта и дополнения компонентов. (В проекте нет ни одной строки CSS) WebPack был мной использован потому, что я привык к нему у меня под него есть готовый каркас, в котором находятся все нужные мне пакеты. А так же настроенный ESlint, для потдержания стилистики кода (если что-то будет не по стилистике, вы не сможете работать дальше.) Для валидации строк был использован vee-validate второй версии.

Описание Front-End функционала

На домашней странице находится таблица, в которой динамически генирируются предметы (lessons), отсчёт выводится следющим образом: Первый столбец - имя студента; все последущие в заголовке имеют название предмета, а на строке с именем студента получил ли студен зачёт или нет (имеет три состояния: Оранжевое - данные о студенте не заполнены; Красное - студент не получил зачёт, по какой либо причине, причина будет указана; Зелёное - студент получил зачёт.)

Дале присутствует сайтбар (страницы есть только в Users > Admin, остальные были для визуализации.) Во вкладке Managment находится управление данными студента (прогулы по ув. и не ув. причинам, добавление оценок.), Эта страница не доступна до тех пор пока вы не добавите предмет в настройках.

Вкладка Settings - на ней находится добавление предметов.

Как велась работа и на чём были трудности

1 этап.Начал я работу в пятницу с 18 до 23, 2 этап.Позже продолжил в субботу с 18 часов до 05 утра воскресенья, 3 этап.Уже в воскресенье доделывал мелочи на более свежую голову, начал с 21, закончил 04 утра понедельника.

С чем были трудности, это с архитектурой данных из-за недостатка опыта, и на добавлении оценок на 2 этапе.