Initial commit
This commit is contained in:
99
Plan.md
Normal file
99
Plan.md
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
план разработки сайта для отдела радиофотоники с учётом ваших требований: гибкость, простое администрирование, удобство для пользователей и расширяемость.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔹 Общая архитектура
|
||||||
|
|
||||||
|
* **Frontend**: React + Next.js.
|
||||||
|
* **Backend**: Go (REST API или GraphQL API).
|
||||||
|
* **База данных**: PostgreSQL (рекомендую) или MySQL для хранения публикаций, сотрудников, РИДов и т. д.
|
||||||
|
* **Хранение файлов**: либо в БД (небольшие PDF, изображения), либо в файловом хранилище (например, MinIO, S3-совместимое хранилище).
|
||||||
|
* **Админ-панель**: веб-интерфейс для редакторов и администраторов.
|
||||||
|
* **Аутентификация**: JWT (для API) + роли ( редактор с логином ), (Наблюдатель без логина).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 🔹 Основные разделы
|
||||||
|
|
||||||
|
1. **Главная страница**
|
||||||
|
|
||||||
|
* Основная информаци о лабораторри миссия ссылки на ключевые разделы.
|
||||||
|
2. **Публикации и Новости**
|
||||||
|
|
||||||
|
* Список публикаций
|
||||||
|
* Возможность прикрепить PDF/ опубликовать новость редактору.
|
||||||
|
* Предпросмотр pdf
|
||||||
|
3. **РИДы (результаты интеллектуальной деятельности)**
|
||||||
|
|
||||||
|
* Каталог патентов, разработок, программ.
|
||||||
|
* Сортировка, фильтры.
|
||||||
|
4. **Проекты**
|
||||||
|
* Список проектов
|
||||||
|
* Связанные с проектом РИДы публикации новости партнеры
|
||||||
|
5. **Наши партнеры**
|
||||||
|
|
||||||
|
* Информация о сотрудничестве, ссылки на проекты.
|
||||||
|
6. **Сотрудники**
|
||||||
|
|
||||||
|
* Список сотрудников (фото, должность, контакты, публикации).
|
||||||
|
7. **Контакты**
|
||||||
|
|
||||||
|
* Адрес, карта (Google/Yandex Maps), форма обратной связи.
|
||||||
|
8. **Студентам**
|
||||||
|
|
||||||
|
* Учебные материалы, методички (PDF), ссылки на расписание, инструкции.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔹 Функционал редактора
|
||||||
|
|
||||||
|
* Панель управления (добавление публикаций/новостей, сотрудников, документов).
|
||||||
|
* Drag-and-drop загрузка файлов.
|
||||||
|
* WYSIWYG редактор для текстов (например, tiptap или CKEditor).
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔹 Технический стек (рекомендация)
|
||||||
|
|
||||||
|
* **Backend (Go)**:
|
||||||
|
|
||||||
|
* `Gin` или `Echo` для API.
|
||||||
|
* `GORM` для работы с БД.
|
||||||
|
* `JWT` для аутентификации.
|
||||||
|
* **Frontend (Next.js)**:
|
||||||
|
|
||||||
|
* TailwindCSS или shadcn/ui для быстрой верстки.
|
||||||
|
* Axios/React Query для работы с API.
|
||||||
|
* **DB**: PostgreSQL.
|
||||||
|
* **Файлы**: MinIO или просто папка на сервере с URL-доступом.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔹 Этапы разработки
|
||||||
|
|
||||||
|
1. **Проектирование**
|
||||||
|
|
||||||
|
* Схема БД (публикации, сотрудники, пользователи, файлы, разделы).
|
||||||
|
* Проработка API.
|
||||||
|
2. **MVP**
|
||||||
|
|
||||||
|
* Базовый backend на Go с CRUD для публикаций, сотрудников и файлов.
|
||||||
|
* Frontend: главная + 2–3 раздела + авторизация.
|
||||||
|
3. **Админ-панель**
|
||||||
|
|
||||||
|
* Интерфейс редактирования контента.
|
||||||
|
* Загрузка документов и картинок.
|
||||||
|
4. **UI и улучшения**
|
||||||
|
|
||||||
|
* Поиск и фильтры.
|
||||||
|
* Оптимизация картинок.
|
||||||
|
* Роли пользователей.
|
||||||
|
5. **Запуск**
|
||||||
|
|
||||||
|
* Деплой на сервер (Docker).
|
||||||
|
* Настройка SSL (Let's Encrypt).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user