Ez egy Laravel 12 alapú REST API projekt, ami üzenetküldést, felhasználókezelést és barátságokat kezel.
- Repository klónozása
git clone git@github.com:zozokacsa/chat-api.git
cd chat-api- Dependenciák telepítése
composer install- .env fájl létrehozása
cp .env.example .env- 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- Sail build és up
./vendor/bin/sail up -d- Migrációk futtatása
./vendor/bin/sail artisan migrate- 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} |
- Minden route, ami
auth:sanctumésverifiedmiddleware-t használ, Bearer token-t igényel. - Példa Header:
Authorization: Bearer <token>
- Token létrehozása login után:
{
"token": "xxxxxx"
}- A projekt tartalmaz egy Swagger felületet, ahol kipróbálhatóak a végpontok.
- Elérés: http://localhost/swagger
- A projektben elérhető a MailPit például az email cím verifikációs levekhez.
.envbeá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"- Web UI elérés: http://localhost:8025
- Testing environment
.env.testingvagyphpunit.xmlbeállítása
- Feature / Unit tesztek futtatása
./vendor/bin/sail test- Csak egy teszt futtatása (pl. MessageTest):
./vendor/bin/sail test --filter MessageTest