Appearance
ð Integration (āļāļēāļĢāđāļāļ·āđāļāļĄāļāđāļāļĢāļ°āļāļ) â
āļĒāļīāļāļāļĩāļāđāļ§āļĒ! āļāļļāļāđāļāđāđāļĢāļĩāļĒāļāļĢāļđāđāļŠāđāļ§āļāļāļĢāļ°āļāļāļāļāļąāđāļ 3 āļŠāđāļ§āļāđāļĨāđāļ§:
- React (Frontend): āļŦāļāđāļēāļāđāļēāļāļŠāļ§āļĒāļāļēāļĄ
- Laravel (Backend): āļŦāļĨāļąāļāļāđāļēāļāļāļĢāļāļāļĨāļąāļ
- MySQL (Database): āļāļĨāļąāļāļāđāļāļĄāļđāļĨ
āđāļāļāļāļāļĩāđ āđāļĢāļēāļāļ°āļĄāļēāļāļđāļ āļēāļāļĢāļ§āļĄāļ§āđāļēāļāļąāđāļ 3 āļŠāđāļ§āļāļāļĩāđāļāļģāļāļēāļāļĢāđāļ§āļĄāļāļąāļāļāļĒāđāļēāļāđāļĢāđāļŦāđāđāļāļīāļāđāļāđāļ Full Stack Web Application
ðïļ Architecture (āļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāļĢāļ°āļāļ) â
āđāļĢāļēāļāļ°āđāļāđāļĢāļđāļāđāļāļ Client-Server Architecture āđāļāļĒāđāļĒāļāļŠāđāļ§āļāļāļąāļāļāļąāļāđāļāļ (Decoupled)
mermaid
sequenceDiagram
participant User as ðĪ User (Browser)
participant React as âïļ React App (Frontend)
participant Laravel as ð Laravel API (Backend)
participant MySQL as ðïļ Database
Note over React, MySQL: Request Cycle
User->>React: 1. āļāļĨāļīāļāļāļļāđāļĄ "āļāļđāļŠāļīāļāļāđāļē"
React->>Laravel: 2. Send HTTP Request (GET /api/products)
Note right of React: Fetch / Axios
Laravel->>MySQL: 3. Query Data (SELECT * FROM products)
Note right of Laravel: Eloquent ORM
MySQL-->>Laravel: 4. Return Result Rows
Laravel-->>React: 5. Return JSON Response
React-->>User: 6. Update UI (Show List)
Note right of React: Re-renderð Key Components â
1. HTTP Request (āļāļēāļĢāļāļāļāđāļāļĄāļđāļĨ) â
React āļāļ°āļŠāđāļāļāļģāļāļāđāļāļĒāļąāļ Laravel āļāđāļēāļ API Endpoint (āđāļāđāļ http://localhost:8000/api/users)
- Method: GET (āļāļķāļ), POST (āđāļāļīāđāļĄ), PUT (āđāļāđāđāļ), DELETE (āļĨāļ)
- Headers: āļāļāļāļāļĢāļ°āđāļ āļāļāđāļāļĄāļđāļĨ (
Content-Type: application/json) - Body: āļāđāļāļĄāļđāļĨāļāļĩāđāļŠāđāļāđāļ (āđāļāđāļ āļāļ·āđāļ, āļĢāļēāļāļē)
2. API Response (āļāļēāļĢāļāļāļāļāļĨāļąāļ) â
Laravel āļāļ°āļāļāļāļāļĨāļąāļāļĄāļēāđāļāđāļ JSON Format āđāļŠāļĄāļ
- Status Code: āļāļāļāļāļĨāļĨāļąāļāļāđ (200 OK, 201 Created, 404 Not Found, 500 Server Error)
- Data: āđāļāļ·āđāļāļŦāļēāļāđāļāļĄāļđāļĨ
3. Authentication (āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļ) â
āđāļāļ·āđāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ āđāļĢāļēāļāļ°āđāļĄāđāđāļŦāđāđāļāļĢāļāđāđāļāđāļĄāļēāļĨāļāļāđāļāļĄāļđāļĨ React āļāļ°āļāđāļāļāđāļāļ Token (āđāļŦāļĄāļ·āļāļāļāļąāļāļĢāļāđāļēāļ) āđāļāļāļąāļāļāļļāļ Request
- āđāļĢāļēāļāļ°āđāļāđ Laravel Sanctum āđāļāļāļēāļĢāļāļāļ Token
- React āļāļ°āđāļāđāļ Token āđāļ§āđāđāļ
localStorageāļŦāļĢāļ·āļcookie
ð āļāļĢāđāļāļĄāļĢāļķāļĒāļąāļ? â
āļāļĪāļĐāļāļĩāļāļāđāļĨāđāļ§! āđāļāļĨāļāļĄāļ·āļāļāļģāļāļĢāļīāļāđāļ Workshop āļāļąāļāđāļāļāļ° āđāļĢāļēāļāļ°āļŠāļĢāđāļēāļāļĢāļ°āļāļ "āļāļąāļāļāļēāļĢāļŠāļīāļāļāđāļē (Product Management)" āļāļąāđāļāđāļāđāđāļĢāļīāđāļĄāļāđāļāļāļāļāļ