Кейс 12 / 17 · Фотоплатформа · 2026
Rawly
Современное веб-приложение для совместного использования фотографий с альбомами, социальными функциями и панелью администратора.
- Время разработки: 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 день) — Структура БД, ролевая модель, email-сервисы, API архитектура
- Backend (4 дня) — Express API, JWT auth, загрузка и обработка изображений через Sharp, Resend email
- Frontend (5 дней) — React Router v7, лендинг, дашборд, альбомы, профили, поиск, уведомления
- Социальные функции (3 дня) — Лайки, комментарии, подписки, уведомления, админ-панель модерации
- Тестирование и деплой (1 день) — QA, оптимизация запросов, dark mode, адаптив, деплой
Следующий проект: Dating WebApp