Files
wish-board/README.md
T

4.8 KiB
Raw Blame History

🎯 Wish Board — Доска желаний

Интерактивная доска желаний с drag & drop, real-time синхронизацией и расширенным функционалом для планирования покупок.

🚀 Быстрый старт

# Клонировать
git clone <url>
cd wish-board

# Установить зависимости
pip install -r requirements.txt

# Запустить сервер
python server.py

# Открыть http://localhost:4000

✨ MVP+ Функционал

Базовый функционал

  • ✅ Доски с цветами
  • ✅ Списки (TODO/Doing/Done)
  • ✅ Карточки с drag & drop
  • ✅ Real-time синхронизация через WebSocket
  • ✅ SQLite для хранения данных

MVP+ Функционал

  • 🖼️ Изображения товаров — добавление фото в карточку
  • 💰 Цена — указание стоимости товара
  • 🔗 Ссылка на товар — прямая ссылка на страницу покупки
  • 💬 Комментарии — заметки и мысли по поводу товара
  • 📊 Статусы — хочу / в процессе / куплено / отложено
  • 🏷️ Категории — группировка по типам (электроника, одежда, книги и т.д.)
  • ⭐ Рейтинг желаемости — оценка от 1 до 5 звёзд
  • 📁 Архив — скрытие купленных товаров из основного вида
  • 📈 Статистика — общая сумма желаний, количество по статусам
  • 💾 Автосохранение — все изменения сохраняются в реальном времени

🛠️ Технологии

  • Backend: Python 3.11+, FastAPI, SQLite, WebSocket
  • Frontend: HTML5, Tailwind CSS, Vanilla JS
  • Real-time: WebSocket (FastAPI)
  • Storage: SQLite (WAL mode)

📁 Структура проекта

wish-board/
├── server.py          # FastAPI сервер с API
├── index.html         # Frontend (SPA)
├── requirements.txt   # Зависимости Python
├── README.md          # Документация
└── wish.db           # База данных (SQLite)

🗄️ База данных

Таблицы

boards — доски

  • id — уникальный идентификатор
  • name — название доски
  • color — цвет доски (hex)
  • created_at — дата создания

lists — списки на доске

  • id — уникальный идентификатор
  • board_id — связь с доской
  • title — название списка
  • position — порядок отображения

cards — карточки товаров

  • id — уникальный идентификатор
  • list_id — привязка к списку
  • board_id — привязка к доске
  • title — название товара
  • description — описание
  • image_url — URL изображения
  • price — цена (float)
  • url — ссылка на товар
  • status — статус (want/in_progress/bought/deferred)
  • category — категория
  • rating — рейтинг желаемости (1-5)
  • comments — комментарии
  • archived — архив (0/1)
  • created_at — дата добавления
  • bought_at — дата покупки
  • position — порядок в списке

🎯 Roadmap

Phase 1: MVP+ ✅

  • Базовая структура
  • Drag & drop
  • Real-time синхронизация
  • Изображения и цены
  • Статусы и категории
  • Поиск и фильтры
  • Архив и итоги

Phase 2: Улучшения

  • Тёмная тема
  • PWA (установка как приложение)
  • Экспорт/импорт (JSON backup)
  • Горячие клавиши
  • Контекстное меню

Phase 3: AI-фичи

  • AI-генерация идей (Ollama)
  • Автозаполнение по ссылке
  • Анализ цен (история)

Phase 4: Коллаборация

  • Регистрация/логин
  • Общие доски
  • Комментарии других пользователей
  • Голосование

🤝 Вклад

  1. Форкнуть проект
  2. Создать ветку (feature/your-feature)
  3. Запушить изменения
  4. Создать Pull Request

📄 Лицензия

MIT License


Создано: 2024 Автор: Nikita (Ufa)