https://github.com/sergeykazarinov/messenger
Приложение Messenger для обмена сообщениями в режиме реального времени.
https://github.com/sergeykazarinov/messenger
eslint mongodb nextauth nextjs13 prisma pusher react-hook-form tailwindcss typescript uploadcare
Last synced: 2 months ago
JSON representation
Приложение Messenger для обмена сообщениями в режиме реального времени.
- Host: GitHub
- URL: https://github.com/sergeykazarinov/messenger
- Owner: SergeyKazarinov
- Created: 2023-05-17T16:39:00.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-07T08:34:01.000Z (almost 2 years ago)
- Last Synced: 2025-01-18T08:45:13.940Z (4 months ago)
- Topics: eslint, mongodb, nextauth, nextjs13, prisma, pusher, react-hook-form, tailwindcss, typescript, uploadcare
- Language: TypeScript
- Homepage: https://messenger-mu-black.vercel.app
- Size: 31.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Проект: Messenger
## Описание:
Аналог приложения Messenger для обмена сообщениями в режиме реального времени.
### Возможности приложения:
- Авторизация пользователя через Google или GitHub
- Обмен сообщениями в режиме реального времени
- возможность отправки изображений
- Статус о прочтении сообщения
- Статус активности пользователя (Online/Offline)
- Создание групповых чатов
- Настройка профиля### Используемые технологии:
- Адаптивная верстка для всех устройств
- Для стилизации элементов страницы используется [TailwindCSS](https://tailwindcss.com/)
- Авторизация пользователя реализована с помощью [NextAuth](https://next-auth.js.org/)
- Загрузка файлов и изображений реализована при помощи [Uploadcare](https://uploadcare.com/)
- Для обмена сообщениями в режиме реального времени используется [Pusher](https://pusher.com/)
- Работа с формами реализована при помощи [React-hook-form](https://react-hook-form.com/)
- Обработка ошибок сервера реализована при помощи [React-hot-toast](https://react-hot-toast.com/)
- Для работы с базой данных используется [Prisma](https://www.prisma.io/)
- Для Code Style используется [ESLint](https://eslint.org/) совместно с [Airbnb](https://airbnb.io/javascript/react/)[Ссылка на сайт](https://messenger-mu-black.vercel.app/)
## Stacks:
- TypeScript
- Next.js 13
- Prisma
- MongoDB
- Tailwind CSS
- Eslint
- Node v18.x## Быстрый старт
1. Склонировать проект на свой компьютер
```bash
git clone https://github.com/SergeyKazarinov/messenger.git
```2. Перейти в папку с проектом и установить зависимости в проекте
```bash
npm install
```3. Чтобы запустить проект, необходимо добавить следующие переменные среды в файл .env
```javaScript
DATABASE_URL=
NEXTAUTH_SECRET=
GITHUB_ID=
GITHUB_SECRET=GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=NEXT_PUBLIC_PUSHER_APP_KEY=
PUSHER_APP_ID=
PUSHER_SECRET=
```4. Установить Prisma
```bash
npx prisma db push
```5. Запустить проект
```bash
npm run dev
```