Skip to content

dedbin/dis_app

Repository files navigation

Dis app

logo.png

license Visitor Count

Это репозиторий для моего школьного проекта который представляет собой подобие Discord.

tech stack: Next.js, React,Typescript, Prisma, Tailwind, Postgres, Socket.io, Clerk

Таблица контента

Функционал:

  • Управление участниками (Исключение, Изменение роли Гостя/Модератора)
  • Сообщения в реальном времени (отправка, изменение, удаление)
  • Личные сообщения
  • Отправка фото, файлов, видео в качестве сообщения
  • Отправка сообщений с эмодзи
  • Генерация уникальной ссылки-приглашения и полностью работающая система приглашений
  • Создание и настройка сервера
  • Прекрасный пользовательский интерфейс с использованием TailwindCSS и ShadcnUI
  • Полная адаптивность
  • Светлая/темная тема
  • ORM с использованием Prisma
  • База данных Postgres
  • Аутентификация с использованием Clerk

TODO

  • Настроить https
  • Сделать локализацию
  • [!Самое важное!] Сделать шифрование сообщений в базе данных
  • Сделать поиск сообщений
  • Сделать логи с возможностью как записи в файл, так и отправкой в телеграмм
  • Попробовать написать/найти модель для генерации эмодзи/стикеров
  • Дать возможность для создания собственных стикеров
  • Сделать ответы на сообщение
  • Сделать "был в сети [время]"
  • Сделать голосовые сообщения

Зависимости

  • Версия Node 18.x.x
  • Версия Postgres 16.x.x
  • Версия npm 10.x.x

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

Клонирование репозитория

git clone https://github.com/dedbin/dis_app.git

Установка пакетов

npm i

Настройка файла .env

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_SIGN_UP_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=

DATABASE_URL=

UPLOADTHING_SECRET=
UPLOADTHING_APP_ID=
UPLOADTHING_URL = 

Настройка Prisma

Добавьте базу данных Postgres

npx prisma generate
npx prisma db push

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

npm run dev

Вклад в проект

Вклад в этот проект приветствуется! Если вы хотите внести свой вклад в этот проект, пожалуйста, выполните следующие действия:

  1. Fork репозиторий и клонируйте на свой компьютер:
git clone https://github.com/dedbin/dis_app.git
  1. Создайте новую ветку для своей фичи:
git checkout -b feature/your-feature-name
  1. Внесите свои изменения и закоммитьте их с сообщением которое кратко опишет вашу фичу:
git commit -m "Add new feature: your feature name"

Также вы можете просто написать мне в telegram: @math_is_ez

Лицензия

Вы можете найти данную лицензию здесь.

Codebase

2023-10-28

Всего:

  • 110 файл
  • 12857 строк кода
  • 66 комментарий
  • 761 пустая строка
  • всего 13684 строк

Наиболее часто используемые языки:

  • TypeScript JSX - 65 файлов, 4699 строки кода.
  • JSON - 4 файлов, 7023 строки кода.
  • TypeScript - 31 файлов, 1422 строки кода.