- npm install
- bower install
- npm run start
- open http://localhost:3000
- login: admin pass: admin
- login: user pass: user
В рамках данной задачи необходимо разработать тестовый проект (новостной блог) со следующими функциями:
- Авторизация пользователей с двумя ролями: обычный пользователь и администратор.
- Обычным пользователям должна быть доступна страница с постраничным просмотром списка новостей.
- Администраторам должна быть доступна страница с управлением новостями (список новостей, добавление/редактирование/удаление новости).
- На главной странице должен выводиться список новостей, добавленных администратором в базу данных. По клику на текст новости должен осуществляться переход на страницу данной новости.
- Если новостей в базе более 10, внизу страницы должны выводиться ссылки для постраничной навигации по новостям.
- Новости должны быть отсортированы в порядке, обратном порядку их добавления на сайт.
- На странице должен выводиться полный текст новости и изображение, загруженное администратором. Также на странице должна присутствовать ссылка для возврата к списку новостей на главную страницу.
- На странице должна выводиться форма авторизации в панели управления для администратора. При отправке неверных данных для входа система должна отображать пользователю соответствующую ошибку.
- На странице должен выводиться список новостей (аналогично главной), рядом с каждой новостью должны присутствовать ссылки для ее редактирования и удаления.
- При попытке удаления новости система должна спрашивать подтверждение у пользователя и удалять новость только при положительном ответе.
- При нажатии на ссылку редактирования система должна отправлять пользователя на страницу с формой редактирования новости.
- На странице должна присутствовать ссылка на страницу добавления новости.
- На странице должна отображаться форма с полями для создания новости: заголовок, текст, изображение (файл).
- Система должна проверять корректность загруженного файла и заполненных данных и выводить соответствующие сообщения в случае ошибок.
- Если все данные введены корректно, система должна добавлять в базу данных новость, загружать изображение на сервер и перенаправлять пользователя на страницу управления новостями с соответствующим сообщением.
- Если данные введены не корректно, система должна сохранять данные, введенные пользователем при отображении сообщения об ошибке.
- Если пользователь загрузил файл, но не заполнил текст, система не должна заставлять его грузить файл второй раз (загруженный файл должен быть отображен). При этом у пользователя должна быть возможность заменить или удалить изображение.
- Страница работает аналогично странице создания новости но при ее открытии форма должна быть пред заполнена данными новости (включая загруженное изображение)
- В случае, если неавторизованный пользователь переходит в панель управления новостями, система должна перенаправлять его на страницу авторизации и выводить соответствующее сообщение.