Skip to content

zozokacsa/chat-api

Repository files navigation

Chat API Laravel 12

Ez egy Laravel 12 alapú REST API projekt, ami üzenetküldést, felhasználókezelést és barátságokat kezel.


🛠 Telepítés

  1. Repository klónozása
git clone git@github.com:zozokacsa/chat-api.git
cd chat-api
  1. Dependenciák telepítése
composer install
  1. .env fájl létrehozása
cp .env.example .env
  1. App key generálása
php artisan key:generate

Állítsd be a .env fájlban az adatbázis és egyéb környezeti változókat. Példa Sail-re:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=chat_api
DB_USERNAME=sail
DB_PASSWORD=password

🐳 Laravel Sail futtatása

  1. Sail build és up
./vendor/bin/sail up -d
  1. Migrációk futtatása
./vendor/bin/sail artisan migrate

🌐 API elérés

  • Alap prefix: /api/...
  • Példák:
Művelet HTTP Endpoint
Regisztráció POST /api/auth/register
Bejelentkezés POST /api/auth/login
Saját adatok GET /api/auth/me
Barátok listája GET /api/friends
Barát kérések POST /api/friends/requests
Üzenet küldés POST /api/messages
Üzenet lekérdezés GET /api/messages/{friend_id}

🔑 Tokenes autentikáció

  • Minden route, ami auth:sanctum és verified middleware-t használ, Bearer token-t igényel.
  • Példa Header:
Authorization: Bearer <token>
  • Token létrehozása login után:
{
    "token": "xxxxxx"
}

📖 Swagger UI


📨 MailPit használata

  • A projektben elérhető a MailPit például az email cím verifikációs levekhez.
  • .env beállítás Laravel-hez:
MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="noreply@example.com"
MAIL_FROM_NAME="Chat API"

🧪 Tesztek futtatása

  1. Testing environment
  • .env.testing vagy phpunit.xml beállítása
  1. Feature / Unit tesztek futtatása
./vendor/bin/sail test
  • Csak egy teszt futtatása (pl. MessageTest):
./vendor/bin/sail test --filter MessageTest

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages