Skip to content

Repository files navigation

Lonely PRIZE - Маркетплейс услуг

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

Возможности

  • Регистрация и аутентификация пользователей (email + пароль)
  • Каталог услуг с категориями
  • Корзина покупок
  • Система заказов с онлайн-чатом между клиентом и администратором
  • Админ-панель для управления:
    • Пользователями (просмотр, блокировка, удаление)
    • Услугами (добавление, редактирование, удаление)
    • Заказами (просмотр, изменение статусов)
  • Адаптивный дизайн в стиле киберпанк
  • Полная интеграция с базой данных Supabase

Установка

1. Клонируйте репозиторий

```bash git clone cd cyber-marketplace ```

2. Установите зависимости

```bash npm install ```

3. Настройте Supabase

Создайте проект в Supabase

  1. Перейдите на https://supabase.com
  2. Создайте новый проект
  3. Сохраните URL проекта и Anon Key

Настройте переменные окружения

  1. Скопируйте файл .env.local.example в .env.local: ```bash cp .env.local.example .env.local ```

  2. Откройте .env.local и заполните переменные: ``` NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key NEXT_PUBLIC_DEV_SUPABASE_REDIRECT_URL=http://localhost:3000 ```

  3. Получите значения из панели Supabase:

    • Перейдите в Settings → API
    • Скопируйте "Project URL" в NEXT_PUBLIC_SUPABASE_URL
    • Скопируйте "anon public" ключ в NEXT_PUBLIC_SUPABASE_ANON_KEY

4. Создайте базу данных

Выполните SQL скрипты из папки scripts в следующем порядке:

  1. Откройте SQL Editor в панели Supabase
  2. Выполните скрипты по порядку:
    • 001_create_tables.sql - создание таблиц
    • 002_create_profile_trigger.sql - триггер для профилей
    • 003_seed_services.sql - заполнение услуг

Или используйте командную строку (если настроен Supabase CLI): ```bash supabase db push ```

5. Создайте первого администратора

После регистрации первого пользователя, сделайте его администратором через SQL Editor:

```sql UPDATE profiles SET is_admin = true WHERE email = 'your-email@example.com'; ```

6. Запустите проект

```bash npm run dev ```

Откройте http://localhost:3000 в браузере.

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

``` ├── app/ │ ├── admin/ # Админ-панель │ │ ├── orders/ # Управление заказами │ │ ├── services/ # Управление услугами │ │ └── users/ # Управление пользователями │ ├── auth/ # Страницы аутентификации │ │ ├── login/ # Вход │ │ └── register/ # Регистрация │ ├── dashboard/ # Панель пользователя │ │ ├── cart/ # Корзина │ │ └── orders/ # Заказы пользователя │ ├── terms/ # Условия и соглашения │ └── page.tsx # Главная страница ├── components/ │ └── ui/ # UI компоненты ├── lib/ │ └── supabase/ # Конфигурация Supabase ├── scripts/ # SQL скрипты для базы данных └── public/ # Статические файлы ```

База данных

Таблицы

  • profiles - Профили пользователей
  • services - Услуги
  • cart_items - Корзина покупок
  • orders - Заказы
  • order_items - Позиции заказов
  • order_messages - Сообщения в чате заказов

Row Level Security (RLS)

Все таблицы защищены политиками RLS:

  • Пользователи видят только свои данные
  • Администраторы имеют полный доступ ко всем данным
  • Анонимные пользователи могут видеть только активные услуги

Использование

Для пользователей

  1. Зарегистрируйтесь через email и пароль
  2. Подтвердите email (письмо придет от Supabase)
  3. Войдите в систему
  4. Просматривайте услуги и добавляйте их в корзину
  5. Оформляйте заказы
  6. Общайтесь с администратором через чат в заказе

Для администраторов

  1. Войдите с правами администратора
  2. Перейдите в /admin
  3. Управляйте:
    • Пользователями (блокировка, удаление)
    • Услугами (создание, редактирование, удаление)
    • Заказами (изменение статусов, чат с клиентами)

Технологии

  • Frontend: Next.js 16, React 19, TypeScript
  • Styling: Tailwind CSS v4, shadcn/ui
  • Database: Supabase (PostgreSQL)
  • Authentication: Supabase Auth
  • Deployment: Vercel (рекомендуется)

Развертывание

Vercel (рекомендуется)

  1. Подключите репозиторий к Vercel
  2. Добавьте переменные окружения в настройках проекта
  3. Деплой произойдет автоматически

Другие платформы

Убедитесь, что добавили все необходимые переменные окружения:

  • NEXT_PUBLIC_SUPABASE_URL
  • NEXT_PUBLIC_SUPABASE_ANON_KEY

Поддержка

Если возникли проблемы:

  1. Проверьте, что все переменные окружения настроены правильно
  2. Убедитесь, что выполнены все SQL скрипты
  3. Проверьте логи в консоли браузера и терминале

Лицензия

Проприетарный проект - Lonely PRIZE © 2025

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages