/social-media

Social Media Web Application

Primary LanguageTypeScript

DevSphere

Описание проекта

DevSphere - социальная сеть для разработчиков.

Технологии

  • React 19 - JS библиотека для создание интерфейсов
  • Next.js 15 - React фреймворк
  • Auth.js - аутентификация
  • TailwindCSS - стили
  • shadcn.ui - UI компоненты
  • Prisma ORM - ORM для взаимодействие с БД
  • Vercel - деплой и аналитика
  • ESLint - линтинг
  • Prettier - форматирование
  • zustand - State manager
  • bun - JavaScript Runtime, сборщик, пакетный менеджер
  • Edge runtime

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

Исходный код находится в src. Архитектура приложения следует методологии Feature Sliced Design. Основные директории:

  • app - В Next.js используется для роутинга, название папок внутри этой указывают на путь в url. В FSD это папка pages подробнее
  • config - Конфигурационные файлы приложения
    • store - Конфигурация Zustand store
    • globals.css - Глобальные css стили
    • prisma.ts - Конфигурация клиента prisma
    • routes.ts - Паттерны путей, для аутентификации.
    • utils.ts - Основные утилиты
  • entities - Бизнес сущности
  • features - Части приложения,связанные с бизнес логикой.
  • shared - Общие элементы на странице: UI-кит, утилиты и хелперы.
    • actions - Серверные экшены
    • api - Взаимодействия с БД
    • hooks - React хуки
    • schemas - zod схемы для форм
  • widgets - Большие элементы из которых состоит страница
  • components - Переиспользуемые React компоненты.
  • auth.ts и auth.config.ts - Конфигурация аутентификации
  • middleware.ts - Настройки middleware

Установка и настройка

  1. Клонируйте репозиторий
  git clone https://github.com/woodemai/social-media-dsr-next.git
  cd social-media-dsr-next
  1. Установите зависимости
  bun install

Запуск приложения

Для запуска в режиме разработки:

  bun run dev

Для запуска в режиме разработки с использованием Turbopack вместо Webpack:

  bun run dev:turbo

Будет доступно по адресу http://localhost:3000

Для сборки приложения:

  bun run build

Для запуска собранного приложения:

  bun run start

Также будет доступно по адресу http://localhost:3000

Работа с Prisma

Основные команды

Генерация клиента Prisma:

  bun run prisma:generate

Применение миграций:

  bun run prisma:migrate:dev

Выполнение всех миграций в среде производства:

  bun run prisma:migrate:deploy

Сброс базы данных и повторное выполнение всех миграций:

  bun run prisma:migrate:reset

Запуск Prisma Studio:

  bun run prisma:studio

Форматирование и линтинг

Проверить код стайл всего проекта:

  bun run lint

Исправить автоисправляемые ошибки в код стайле:

  bun run lint:fix

Проверить форматирование:

  bun run prettier

Исправить форматирование с помощью Prettier:

  bun run prettier:fix

Исправить код стайл и форматирование:

  bun run format

Дополнительная информация

Для более детальной информации по настройке и использованию обратитесь к официальной документации: