| Method | URL | Description |
|---|---|---|
| POST | /api/auth/signup |
Register a new user |
| POST | /api/auth/signin |
Login and obtain JWT token |
| POST | /api/auth/signout |
Logout (invalidate token) |
| Method | URL | Description |
|---|---|---|
| GET | /api/users/me |
Get authenticated user data |
| Method | URL | Description |
|---|---|---|
| GET | /api/users/me/contacts |
List my contacts |
| GET | /api/users/me/contacts/{contactId} |
Get a specific contact |
| POST | /api/users/me/contacts |
Create a new contact |
| PUT | /api/users/me/contacts/{contactId} |
Update a contact |
| DELETE | /api/users/me/contacts/{contactId} |
Delete a contact |
erDiagram
USERS {
UUID id PK
String username
String email
String password
Enum roles
LocalDateTime createdAt
LocalDateTime updatedAt
}
CONTACTS {
UUID id PK
String fullName
Long phone
String email
UUID user_id FK
}
USERS ||--o{ CONTACTS : "has many"