Описание проекта
FlyCms — это полностью открытая на Java-языке социальная сеть, основанная на модели вопросов и ответов, подобная Zhihu. Проект построен на основе архитектуры Spring Boot + Bootstrap 3 + MyBatis + MySQL + Solr + Ehcache и сосредоточен на организации, классификации и поиске контента сообщества. FlyCms объединяет преимущества нескольких программ, таких как Q&A, Digg и Wiki, помогая пользователям легко создавать профессиональные базы знаний и онлайн-сообщества вопросов и ответов. Бизнес-модули включают управление правами доступа, управление пользователями, управление ролями, управление расписанием задач, управление вопросами и ответами, управление статьями, управление обменом, управление API для SMS, отправку почты (регистрация, восстановление пароля, подписка на почту), кросс-доменное вход в систему, отправку уведомлений, полнотекстовый поиск, интернационализацию и многое другое.
Открытый исходный код, удобное развитие
Разработан на основе версии Spring Boot, использует成熟的开发技术, открыт исходный код и документацию для разработки, что делает вторичное развитие более простым.
Гибкий дизайн, удобная кастомизация
Дизайн интерфейса прост и гибок, Bootstrap позволяет пользователю кастомизировать шаблоны, что делает ваше сообщество уникальным и индивидуальным.##### Удобное управление, полный контроль
Удобное управление, функциональные возможности просты и удобны, достаточно включить функции, чтобы настроить систему, и создать ваше сообщество знаний.
Легкий и умный, более понимающий социальные сети
FlyCms более открыт, чем форумы, и лучше понимает пользователей, чем информационные сайты. Он сосредоточен на пользователе, более понимает социальные сети и больше внимания уделяет анализу и обмену контентом.
Помощь пользователей, точная доставка
Пользователи помогают друг другу, обмениваются опытом использования продукта, получают только те сообщения, которые их интересуют, расширяют ценность и сокращают помехи.
Инструкция по использованию: пожалуйста, оставьте внизу страницы надпись "powered by 28844.com", спасибо за поддержку
Онлайн адрес: 28844.com | Документация
Технологическая стек
- JDK8
- Spring-Boot
- MyBatis
- Freemarker
- MySQL
- Bootstrap3
- Solr
- Quartz
- i18n
- Ehcache## Основные характеристики
- Совместимость с сообществом (IE9+)
- Адаптивный макет страниц
- Локальная аутентификация, регистрация на мобильном устройстве, регистрация по электронной почте
- Вход с использованием CAPTCHA, ограничение попыток входа
- Разработка с использованием
Spring-Boot
- Операции с базой данных с использованием MyBatis
- В данный момент SQL-запросы поддерживают только MySQL, при смене базы данных необходимо вручную изменить код
- Solr обеспечивает поиск и запросы списков страниц на фронтенде и пагинацию
Функции сайта
Фронтэнд-функции
- Раздел вопросов и ответов, где пользователи могут размещать вопросы с вознаграждением в виде баллов
- Управление и статистика публикаций ответов и т. д.
- Раздел статей, экспертные колонки, где группа экспертов может публиковать профессиональные статьи и новости
- Раздел статей может быть разделен на категории, и в настоящее время категории могут быть созданы на любом уровне
- Раздел для обмена, где пользователи могут обмениваться ссылками на ресурсы, такими как ссылки на Baidu Netdisk, фильмы и т. д., зарабатывая баллы
- Агрегация тем в каждом разделе, редактирование, удаление и проверка тем
- Личная страница пользователя, где можно просматривать пользователей, на которых подписаны, и свои публикации
- Сохранение контента пользователя
- Управление баллами пользователя, пополнение баллов- Привязка номера телефона пользователя
- Привязка адреса электронной почты пользователя
- Восстановление пароля пользователя
- Регистрация пользователя по номеру телефона, требует привязки к API оператора с сервера
- Вознаграждение за приглашение новых пользователей зарегистрироваться
Веб-админка
- Редактирование базовой информации о сайте
- Управление регистрацией пользователей
- Управление информацией о мобильных операторах пользователей (в настоящее время поддерживается только Alibaba Dadaoyu)
- Привязка отправочных электронных адресов сайта, настройка шаблонов электронных писем
- Управление и проверка информации о пользователях
- Управление вопросами и ответами
- Управление ответами
- Управление статьями и категориями статей
- Управление темами
- Управление поделями
- Управление ссылками на другие сайты
- Управление правилами начисления баллов
- Настройка фильтрации запрещённых и чувствительных слов
- Добавление управления задачами по расписанию, запуск и остановка через админку, просмотр логов выполнения задач#### Подготовка для вторичной разработки
- Для разработки в IDE установите плагин Lombok, иначе компилятор будет выдавать ошибки.
- Рекомендуется использовать плагин assembly Maven для создания пользовательских сборок при развертывании программы.
- В проекте используется Solr, при установке необходимо запустить Solr. Solr настроен и готов к использованию, подробная информация доступна на официальном сайте.
- В проекте используется JAR-файл Alibaba Dadaoyu, который не может быть использован с Maven. Можно скачать doc/dysmsapi.zip и разместить его в локальном репозитории Maven в директории .m2/repository/com/alibaba/aliyun/.
- Поиск и список на главной странице в будущем будут использовать Solr, поэтому необходимо скачать Solr из прилагаемых директорий, запустить его перед запуском программы, иначе будут возникать ошибки!
В случае, если JAR-файлы не загружаются в оригинальную директорию Solr, рекомендуется сжать их, так как размер загружаемого файла не должен превышать 10 МБ
Если необходимо, вы можете скачать через группу QQ: 211378508
- Например, если Solr находится в директории E:/, сначала откройте окно командной строки CMD
-
e:
нажмите Enter
-
cd e:/solr/bin
нажмите Enter
-
solr start -p 8983
нажмите Enter, дождитесь успешного запуска
-
solr stop -p 8983
это команда для остановки Solr- Создайте базу данных pybbs, используя кодировку utf8. Если требуется поддержка эмодзи, используйте кодировку utf8mb4 (только для баз данных MySQL)
git clone https://gitee.com/could/FlyCms
- Импортируйте файл
/doc/flycms.sql
проекта в базу данных
- Доступ к фронтальной части сайта по адресу
http://localhost
- Доступ к админке по адресу
http://localhost/admin/login
имя пользователя: flycms, пароль: 123456
Упаковка и развертывание среды разработки
- Создайте базу данных flycms с использованием кодировки utf8. Если требуется поддержка эмодзи, используйте кодировку utf8mb4 (только для баз данных MySQL)
- Скопируйте файл application.yml из проекта, переименуйте его в application-prod.yml и измените соответствующие параметры конфигурации
- Выполните команду
mvn clean compile package
- Скопируйте файл
target/FlyCms.jar
в нужное место
- Запустите
java -jar FlyCms.jar --spring.profiles.active=prod > FlyCms.log 2>&1 &
для запуска проекта в фоновом режиме
- Импортируйте файл
flycms.sql
из проекта в базу данных
- Для остановки сервиса выполните команду
ps -ef | grep FlyCms.jar | grep -v grep | cut -c 9-15 | xargs kill -s 9
- Для просмотра логов выполните команду
tail -200f FlyCms.log
Рекомендуется использовать метод сборки assembly
- Сборка в IDEA
- Структура файлов после сборки, в директории
resources
должен быть только один файл application.yml
Важные замечания
- Из-за того, что содержимое базы данных было очищено, иногда данные в Solr могут не быть удалены, что приводит к ошибкам при запросах на главной странице и страницах каналов. Решение: перед запуском Solr войдите в директорию
E:\solr\server\solr\info\data
и удалите три папки внутри. В будущем будет добавлена возможность удаления данных через административную панель.
О темах
Структура директорий проекта очень удобна для разработки тем. Если вы хотите подстроить одну из тем под свои предпочтения, вы можете разрабатывать её в соответствии с структурой директорий views/templates
для ПК или мобильных устройств, а затем настроить новую тему через административную панель.
Обратная связь
http://www.28844.com
QQ-группа: 211378508
При описании проблемы укажите подробные шаги для воспроизведения
Вклад
Все приветствуют предложения issues и pull requests
Примеры скриншотов страниц

Донат

Если вам помогает этот проект, пожалуйста, сделайте донат!
Лицензия
MIT
Комментарии ( 0 )