Komunikator

Aplikacja komunikatora stworzona przy użyciu Next.js z App Router, akcji serwerowych i innych technologii...
Komunikator

Użyte technologie:

Vercelfile_type_light_prismaPrisma ORMNext.js iconNext.js JavaScript TypeScript Reactfile_type_tailwindTailwind CSS HTML CSS Node.js Drizzle ORMPostgre SQL

Funkcjonalności

  • Rejestracja przy użyciu email i hasła lub użycie dostawcy uwierzytelnienia (Google, Github)

  • Prywatne i grupowe konwersacje w czasie rzeczywistym (przez pusher)

  • Edycja informacji o twoim koncie (imię, zdjęcie profilowe)

  • Status aktywności użytkowników

  • Wysyłanie obrazów (przez cloudinary i bibliotekę next-cloudinary)

Planowane funkcjonalności

  • Zarządzanie użytkownikami w grupie - dodawanie, usuwanie

  • Role w czatach grupowych (moderator, administrator)

  • Dodanie podglądu do przesłanego odnośnika

  • Łączenie dostawców uwierzytelniania do utworzonych kont, bądź dodanie hasła do konta stworzonego przez providera

  • Resetowanie hasła

  • Weryfikacja e-mail

Jak odtworzyć projekt

1. Sklonuj repozytorium używając gita

git clone https://github.com/c3sare/messenger

2. Zainstaluj biblioteki

bun install

3. Dodaj zmienne środowiskowe (plik .env)

DATABASE_URL=
AUTH_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=
PUSHER_APP_ID=
PUSHER_APP_SECRET=
NEXT_PUBLIC_PUSHER_APP_CLUSTER=
NEXT_PUBLIC_PUSHER_APP_KEY=
NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME=

DATABASE_URL jest adresem do bazy danych postgres - neon

AUTH_SECRET jest kluczem do kodowania/dekodowania token’a JWT, wygeneruj go w wierszu poleceń przez openssl rand -base64 33

AUTH_GOOGLE_ID i AUTH_GOOGLE_SECRET, są niezbędne do umożliwienia logowania przez konto Google, PORADNIK

AUTH_GITHUB_ID i AUTH_GITHUB_SECRET, są niezbędne do umożliwienia logowania przez konto Github, PORADNIK

PUSHER_APP_ID, PUSHER_APP_SECRET, NEXT_PUBLIC_PUSHER_APP_CLUSTER i NEXT_PUBLIC_PUSHER_APP_KEY, potrzebne do obsługi wiadomości w czasie rzeczywistym, stwórz darmowe konto na tej stronie

NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME, jest to nazwa chmury w serwisie cloudinary.

Pozostańmy w kontakcie

Dostępny
Obecnie jestem otwarty na nowe możliwości i współpracę. Skontaktuj się ze mną, jeśli chcesz omówić projekt lub po prostu powiedzieć „cześć”!
Wyślij wiadomość
Masz pomysł na projekt lub po prostu chcesz porozmawiać? Wypełnij poniższy formularz, a skontaktuję się z Tobą w ciągu 24 godzin.