Science + Cypher - современная веб-платформа для создания, публикации и обсуждения научных и научно-популярных статей с активным сообществом читателей и авторов.
- Свободное творчество - научные, научно-популярные и художественные публикации
- Продвинутый редактор с поддержкой CKEditor 4
- Кастомизация оформления - цвета, фоны, аватары
- Система тегов для лучшей категоризации
- Умный поиск с фильтрами по тегам, авторам и рейтингам
- Система рейтингов и комментариев
- Персональные сборники статей
- Отслеживание прочитанного
- Рейтинги статей - коллективная оценка качества
- Комментарии с системой лайков
- Профили пользователей с статистикой
- Модерация контента
- FastAPI - современный асинхронный фреймворк
- SQLAlchemy - ORM для работы с базой данных
- SQLite - база данных (с возможностью миграции на PostgreSQL)
- JWT - аутентификация и авторизация
- Pydantic - валидация данных
- Uvicorn - ASGI-сервер
- Vue.js 3 - прогрессивный фреймворк
- Vue Router - маршрутизация
- Vuex - управление состоянием
- Vue Cookies - работа с cookies
- Axios - HTTP-запросы
- CKEditor 4 - текстовый редактор
- SCSS - препроцессор CSS
- Font Awesome - иконки
scipher/
├── backend/
│ ├── api.py # Основное FastAPI приложение
│ ├── crud.py # Операции с базой данных
│ ├── DB_tables.py # Модели SQLAlchemy
│ ├── models_api.py # Pydantic модели
│ └── scipher.db # База данных SQLite
├── frontend/
│ ├── src/
│ │ ├── components/ # Vue компоненты
│ │ ├── views/ # Страницы приложения
│ │ ├── router/ # Конфигурация маршрутизации
│ │ ├── store/ # Vuex хранилище
│ │ └── assets/ # Стили и ресурсы
│ ├── public/
│ └── package.json
└── README.md
- Python 3.8+
- Node.js 14+
- npm или yarn
# Установка зависимостей Python
pip install fastapi uvicorn sqlalchemy python-multipart passlib python-jose[cryptography]
# Запуск сервера
cd backend
python api.pyСервер будет доступен по адресу: http://127.0.0.1:7000
# Установка зависимостей Node.js
cd frontend
npm install
# Запуск в режиме разработки
npm run serveПриложение будет доступно по адресу: http://localhost:8080
POST /token- получение JWT токенаGET /user/me- информация о текущем пользователе
POST /user- регистрация нового пользователяGET /users- список пользователейGET /user/{id}/all- полная информация о пользователеPATCH /users/{id}/info- обновление информации
POST /article- создание статьиGET /articles- список статейGET /article/{id}- получение статьиPATCH /article/{id}/all- обновление статьиPOST /finder- умный поиск статей
POST /comment- создание комментарияGET /article/{id}/comments- комментарии к статье
POST /img/user/avatar- загрузка аватараPOST /img/article/{id}/back- фоновое изображение статьи
- Главная - популярные статьи, теги, пользователи
- Статья - просмотр и обсуждение статей
- Редактор статей - создание и редактирование контента
- Профиль пользователя - личный кабинет
- Поиск - расширенный поиск с фильтрами
ArticleView- просмотр статейArticleEditView- редактор статейUserProfileView- профиль пользователяShortenedArticle- карточка статьиComment- компонент комментариев
- Users - пользователи системы
- Articles - статьи и публикации
- Comments - комментарии к статьям
- Tags - теги для категоризации
- Compilations - персональные сборники статей
- JWT аутентификация
- Хеширование паролей
- Валидация входных данных
- Защита от CSRF
- CORS настройки
# Frontend
npm run build
# Backend
uvicorn api:app --host 0.0.0.0 --port 8000Frontend & Team Lead
Любовь Деребас
Backend разработка
Серафим Никольский
Алексей Соколов
Дополнительная разработка
Дары Родионова, Ройтберг Елизавета, Егор Федоров, Степан Карлов, Илья Гаранов, Яковлев Иван
- Система уведомлений
- Подписки на пользователей
- Расширенный умный поиск
- Рейтинг пользователей
- Мобильное приложение
- Социальные функции
Scipher - где наука встречает сообщество! 🔬✨