Кейс 12 / 17 · Фотоплатформа · 2026

Rawly

Современное веб-приложение для совместного использования фотографий с альбомами, социальными функциями и панелью администратора.

https://rawly.ru

  • Время разработки: 14 дней
  • Страниц: 9+
  • API эндпоинтов: 30+
  • Email шаблонов: 4

Задача

Отсутствие простой и современной платформы для создания и совместного использования фотоальбомов с социальными функциями и уведомлениями в реальном времени.

Решение

Полнофункциональное веб-приложение на React + Express с SQLite. Пользователи могут создавать альбомы, загружать фотографии, взаимодействовать с контентом (лайки, комментарии), и получать уведомления обо всех действиях.

Ключевое

React 19 + Express + SQLite · Email интеграция · Dark Mode · 9+ страниц фронтенда

Что сделано

  • Регистрация с проверкой email и восстановлением пароля через email
  • JWT аутентификация с bcrypt хешированием паролей и rate limiting
  • Ролевая система: пользователь и администратор с гранулярными разрешениями
  • Создание и управление альбомами с контролем видимости (public/private)
  • Загрузка фотографий с автоматическим созданием миниатюр и оптимизацией
  • Хранение метаданных: размер, ширина, высота, описание и теги фотографий
  • Социальные функции: лайки на фотографи и комментарии к ним
  • Система уведомлений: об альбомах, лайках, комментариях и подписках
  • Профили пользователей: просмотр профилей, аватары, биография
  • Поиск по фотографиям и пользователям с индексацией в БД
  • Панель администратора: управление пользователями, модерация контента, статистика
  • Dark mode поддержка с современным дизайном на Tailwind CSS
  • Email интеграция через Resend: верификация, уведомления, восстановление пароля
  • Обработка изображений: сжатие, создание миниатюр через Sharp
  • Адаптивный дизайн для всех устройств
  • Анимации и переходы через Motion
  • CORS поддержка и кэширование контроля для API
  • Оптимизированные запросы к БД с индексами
  • Production-ready код с обработкой ошибок
  • React Router v7 для навигации между страницами
  • Лендинг страница, Dashboard, просмотр альбомов, профили, поиск, админ-панель, уведомления

Этапы

  1. Проектирование (1 день) — Структура БД, ролевая модель, email-сервисы, API архитектура
  2. Backend (4 дня) — Express API, JWT auth, загрузка и обработка изображений через Sharp, Resend email
  3. Frontend (5 дней) — React Router v7, лендинг, дашборд, альбомы, профили, поиск, уведомления
  4. Социальные функции (3 дня) — Лайки, комментарии, подписки, уведомления, админ-панель модерации
  5. Тестирование и деплой (1 день) — QA, оптимизация запросов, dark mode, адаптив, деплой

Следующий проект: Dating WebApp