Полнофункциональный маркетплейс для продажи рекламы и профессиональных услуг с системой заказов, корзиной, онлайн-чатом и админ-панелью.
- Регистрация и аутентификация пользователей (email + пароль)
- Каталог услуг с категориями
- Корзина покупок
- Система заказов с онлайн-чатом между клиентом и администратором
- Админ-панель для управления:
- Пользователями (просмотр, блокировка, удаление)
- Услугами (добавление, редактирование, удаление)
- Заказами (просмотр, изменение статусов)
- Адаптивный дизайн в стиле киберпанк
- Полная интеграция с базой данных Supabase
```bash git clone cd cyber-marketplace ```
```bash npm install ```
- Перейдите на https://supabase.com
- Создайте новый проект
- Сохраните URL проекта и Anon Key
-
Скопируйте файл
.env.local.exampleв.env.local: ```bash cp .env.local.example .env.local ``` -
Откройте
.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 ``` -
Получите значения из панели Supabase:
- Перейдите в Settings → API
- Скопируйте "Project URL" в
NEXT_PUBLIC_SUPABASE_URL - Скопируйте "anon public" ключ в
NEXT_PUBLIC_SUPABASE_ANON_KEY
Выполните SQL скрипты из папки scripts в следующем порядке:
- Откройте SQL Editor в панели Supabase
- Выполните скрипты по порядку:
001_create_tables.sql- создание таблиц002_create_profile_trigger.sql- триггер для профилей003_seed_services.sql- заполнение услуг
Или используйте командную строку (если настроен Supabase CLI): ```bash supabase db push ```
После регистрации первого пользователя, сделайте его администратором через SQL Editor:
```sql UPDATE profiles SET is_admin = true WHERE email = 'your-email@example.com'; ```
```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- Сообщения в чате заказов
Все таблицы защищены политиками RLS:
- Пользователи видят только свои данные
- Администраторы имеют полный доступ ко всем данным
- Анонимные пользователи могут видеть только активные услуги
- Зарегистрируйтесь через email и пароль
- Подтвердите email (письмо придет от Supabase)
- Войдите в систему
- Просматривайте услуги и добавляйте их в корзину
- Оформляйте заказы
- Общайтесь с администратором через чат в заказе
- Войдите с правами администратора
- Перейдите в
/admin - Управляйте:
- Пользователями (блокировка, удаление)
- Услугами (создание, редактирование, удаление)
- Заказами (изменение статусов, чат с клиентами)
- Frontend: Next.js 16, React 19, TypeScript
- Styling: Tailwind CSS v4, shadcn/ui
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- Deployment: Vercel (рекомендуется)
- Подключите репозиторий к Vercel
- Добавьте переменные окружения в настройках проекта
- Деплой произойдет автоматически
Убедитесь, что добавили все необходимые переменные окружения:
NEXT_PUBLIC_SUPABASE_URLNEXT_PUBLIC_SUPABASE_ANON_KEY
Если возникли проблемы:
- Проверьте, что все переменные окружения настроены правильно
- Убедитесь, что выполнены все SQL скрипты
- Проверьте логи в консоли браузера и терминале
Проприетарный проект - Lonely PRIZE © 2025