2026-08-18 20:38:42 +03:00
2026-08-18 20:38:42 +03:00
2026-08-18 20:38:42 +03:00

📅 Основные этапы разработки

  1. Начальная настройка и инфраструктура

Цель: Зафиксировать базовую структуру проекта и инструменты.

Docker Compose
    Настроить контейнеры для:
        Бэкенда (Go/Python)
        Фронтенда (Vite)
        PostgreSQL (базовая настройка)
    Убедиться, что проект запускается через docker-compose up.
Базовая архитектура
    Создать папки проекта: frontend/, backend/, docker/.
    Добавить README.md с инструкцией по запуску.
Технологии:
    Фронт: Vite + HTML/CSS/JS (без фреймворков для упрощения).
    Бэк: Go/Python (выбрать один, например, Python с FastAPI).
    БД: PostgreSQL (с возможностью замены на MySQL).
  1. Аутентификация и авторизация

Цель: Добавить базовую защиту данных.

LDAP / OIDC
    Интеграция с Keycloak (пример: авторизация через Google).
    Простой middleware для проверки токенов (без сложной логики).
Локальная регистрация
    Добавить форму регистрации/авторизации (без сложных проверок).
Технологии:
    Бэк: JWT (Python: PyJWT, Go: github.com/golang-jwt/jwt).
  1. Основной функционал: вишлисты

Цель: Реализовать базовые операции с вишлистами.

CRUD для вишлистов
    Создание, редактирование, удаление вишлистов.
    Хранение в PostgreSQL (таблицы: users, wishlists, items).
Функция "Санты" (базовая версия)
    Алгоритм случайного назначения (без фильтров на первом этапе).
    Уведомления через email (использовать smtplib или сервисы вроде SendGrid).
Технологии:
    Бэк: FastAPI (Python) или Gin (Go).
    БД: PostgreSQL (SQL-запросы через ORM).
  1. Адаптивный дизайн и соцсети

Цель: Упростить интерфейс и добавить экспорт в соцсети.

Адаптивный дизайн
    Использовать CSS-медиа-запросы для мобилы и десктопа.
    Минималистичный интерфейс (без сложных библиотек).
Мини-карточка для соцсетей
    Генерация HTML-кода для встраивания в Telegram/Instagram.
    Пример: iframe с подборкой товаров.
  1. Дополнительные функции (поэтапно)

Цель: Расширить функционал по мере роста навыков.

Совместное деление суммы подарка
    Создать интерфейс для групповых подарков.
    Интеграция с YooKassa (базовая оплата).
Уведомления и чат
    Добавить WebSocket для уведомлений (например, через socket.io).
Аналитика и экспорт
    Экспорт вишлистов в CSV.
    Простая статистика (количество подарков, активных пользователей).

🧱 Технологический стек Компонент Технологии Фронтенд Vite, HTML, CSS, JS Бэкенд Python (FastAPI) / Go (Gin) База данных PostgreSQL (MySQL как опция) Деплой Docker Compose, Nginx Аутентификация Keycloak (OIDC), JWT 🕒 Пример графика (приблизительный) Этап Время Достигаемый результат 1 1 месяц Запуск Docker, базовые вишлисты 2 2 месяц Авторизация, функция Санты 3 3 месяц Адаптивный дизайн, мини-карточка 4 4 месяц Групповые подарки, аналитика ⚠️ Примечания для низкого уровня разработки

Начните с Docker: Убедитесь, что проект запускается без ошибок.
Используйте примеры: Копируйте код из документации (например, FastAPI + PostgreSQL).
Опционально:
    LDAP можно заменить на тестовую регистрацию.
    Уведомления через email могут быть отложены до этапа 4.

📁 Структура проекта (пример) bash

wishlist-app/ ├── frontend/ # Vite + HTML/CSS ├── backend/ # FastAPI/Go │ ├── main.py # Основной файл │ ├── models/ # Базовые ORM модели │ └── routes/ # CRUD для вишлистов ├── docker/ # Docker Compose ├── db/ # SQL-скрипты для PostgreSQL └── README.md # Инструкция по запуску

S
Description
No description provided
Readme
87 KiB
Languages
CSS 74.5%
TypeScript 11.5%
JavaScript 8.7%
HTML 5.3%