Перепутал с репозиторием. Основной репозиторий тут: https://github.com/Festak/RPBACourseProject
Платформа: ASP.NET MVC Клиентская часть: JQuery, Bootstrap, Angular. База данных: MS SQL Server Поддержка адаптивной верстки (нормальный просмотр с любого девайса различного размера экрана).
Сайт с поддержкой внешней авторизации с использованием социальных сетей: facebook, twitter, vkontakte. На сайте 3 роли:
- не аутентифицированный пользователь - не может выставлять рейтинги, ни добавлять креативы, только читать контент и осуществлять поиск.
- аутентифицированный пользователь - может создавать контент, ставить рейтинги, заходить на чужие профили.
- администратор - может все, что аутентифицированный пользователь, а также управлять пользователелями: удалять, блокировать, изменять их пароли, и так далее. Удалять с контентом. Также может делать все от имени конкретного пользователя.
На сайте поддерживаются две темы: светлая / темная. На сайте поддерживаются два языка: английский / русский.
У каждого пользователя есть набор креативов на личной странице, и для этого списка есть возможности сортировки по имени, дате редактирования / создания. Креатив представляет из себя набор глав. Главы можно добавлять, поменять местами через drag & drop с использованием angular-библиотеки. Нумерация - автомагически. У каждого креатива есть категория, к которой она относится. Категория указывается при создании самой креативы. Также у креативов есть изображение, которое должно храниться на cloudinary и загружаться автоматически с помощью dnd. Креатив можно создавать, удалять, редактировать.
Пользователь может подписаться на определенную категорию креативов, при котором он будет регулярно оповещаться при создании новой креативы выбранной категории. Рассылка происходит сразу всем пользователям, которые подписаны на категорию, на электронную почту. В любой момент пользователь может отписаться от рассылки и оповещения.
На странице пользователя есть медали за достижения. Например, 5 созданный креативов - медалька, зарегистрировался - медалька. Медалька присваиваемая, но не удаляемая На страинце пользователя также есть список его креативов, список тех, на категорию которых он подписан. У пользователя есть аватарка, загружаемая с помощью dnd. На странице пользователя есть счеткики, которые отсчитыают общее количество креатив, глав, медалек. Также пользователь на личной странице может креативу редактировать, удалять главы и все возможные действия с ними. На своей странице он также может изменить пароль, емэйл, логин.
Вверху строка поиска. Поиск по всем страницам. Использован движок Lucene без сканирования по всей базе. В результатах - креативы: название, автор, рейтинг. Реализовано внедрение зависимостей с помощью технологии Ninject.
На главной странице присутствует бесконечный скроллинг, который подгружает креативы по мере прокручивания страницы. На главной странице - популярные, последние редактированные, облако тегов, при выборе которых осуществляется поиск по тегам опять же с использованием движка Lucene.
Креатив открывается в режиме просмотра. В этом режиме показывается рейтинг, можно изменять размер холста, размер шрифта. Главы переключаются между собой с использованием слайдера.
Главу можно удалять, добавить новую, отредактировать. Глава содержит название, список тегов (именно к главе), текст (поддержка markdown).
Теги с автодополнением (которые есть на сайте). Возможность проставления рейтингов.
Использованные библиотеки:
- bootstrap.min.js - для красивого написания фронт-енда с поддержкой нормального просмотра с различных устройств различного размера экранов.
- angular.js - для расширения возможностей при написании кода (автодополнение, перемещение глав, изменение размера холста и т.п.)
- jquery-2.1.4.js - библиотека jQuery.
- modernizr-2.6.2 - для красивого интерфейса.
- summernote.js - для поддержки технологии markdown при написании глав.
- angular-input-stars.js - готовая библиотека с рейтингами, которые выставляются креативам.
- ng-sortable.min.js - для сортировки глав и перемещением их с помощью drag-and-drop'а.
- setCookiesScript.js - для сохранения кукиса (выбранной пользователем локали и темы).
- jquery.cloudinary.js - для загрузки изображений на облако.
- load-image.all.min.js - для загрузки изображений на облако.
- clean-blog.js - для очищения навигационной панели при опускании курсора.
- counter.js - для реализации плавного счетчика.
- dropzone.js - для реализации красивой дроп-зоны.
- jquery.tagcanvas.js - для реализации облака тегов.
- ng-tags-input.min.js - красивое автодополнение тегов при вводе и считывании с базы.
- scroll.js - для реализации бесконечного скроллинга.
- swiper.js - для красивого и плавного перехода к nav-bar при вертикальном скроллинге.