- Implemented buildUserAgent() method in AllegroApiClient, AllegroOAuthClient, and AllegroTrackingService to include User-Agent header in all HTTP requests to Allegro API. - Updated .env.example to include APP_VERSION and ALLEGRO_USER_AGENT_URL for configuration. - Created public /info page to provide application details required by Allegro, including app name, version, description, and contact information. - Added minimalist layout for public pages to ensure a professional appearance. - Ensured all changes comply with Allegro's API requirements for User-Agent header.
5.8 KiB
5.8 KiB
phase, plan, type, wave, depends_on, files_modified, autonomous, delegation
| phase | plan | type | wave | depends_on | files_modified | autonomous | delegation | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 89-allegro-info-page | 01 | execute | 1 |
|
|
false | off |
Purpose
Allegro wymaga w User-Agent URL do strony informacyjnej aplikacji. Strona musi istnieć pod adresem skonfigurowanym w ALLEGRO_USER_AGENT_URL (domyślnie https://orderpro.pl/info).
Output
Publiczna strona /info bez wymagania logowania, z opisem aplikacji orderPRO.
Prior Work
@.paul/phases/88-allegro-user-agent/88-01-SUMMARY.md — User-Agent header z URL do tej strony
Source Files
@routes/web.php — routing (publiczne trasy bez middleware) @src/Modules/Auth/AuthController.php — wzorzec kontrolera publicznej strony @resources/views/layouts/auth.php — layout publicznych stron (bez sidebara)
<acceptance_criteria>
AC-1: Strona /info dostepna publicznie
Given uzytkownik niezalogowany
When odwiedza /info w przegladarce
Then widzi strone informacyjna o aplikacji orderPRO (bez przekierowania na login)
AC-2: Tresc strony zgodna z wymaganiami Allegro
Given administrator zewnetrzny (np. Allegro) odwiedza strone /info
When czyta zawartosc
Then widzi: nazwe aplikacji, opis celu dzialania, informacje o integracji z Allegro API, dane kontaktowe
AC-3: Strona wyglada profesjonalnie
Given uzytkownik odwiedza /info
When strona sie laduje
Then widzi czysty, profesjonalny layout (bez sidebara/nawigacji aplikacji, minimalistyczny design)
</acceptance_criteria>
Task 1: Kontroler i routing strony /info src/Modules/Info/InfoController.php, routes/web.php 1. Utworzyc `src/Modules/Info/InfoController.php`: - Klasa `final class InfoController` w namespace `App\Modules\Info` - Metoda `show(Request $request): Response` - Renderowanie widoku `info/allegro` z layoutem `layouts/public` - Przekazac do widoku: APP_NAME, APP_VERSION z getenv()2. W `routes/web.php`:
- Dodac `use App\Modules\Info\InfoController;`
- Utworzyc instancje `$infoController = new InfoController($template);`
- Dodac route BEZ middleware: `$router->get('/info', [$infoController, 'show']);`
- Umiescic blisko innych publicznych tras (login, health)
Route /info zdefiniowana bez authMiddleware w routes/web.php
AC-1 satisfied: strona /info dostepna bez logowania
Task 2: Layout publiczny i widok strony informacyjnej
resources/views/layouts/public.php, resources/views/info/allegro.php
1. Utworzyc `resources/views/layouts/public.php`:
- Minimalistyczny layout HTML5 (bez sidebara, nawigacji, ani elementow aplikacji)
- Meta viewport dla mobile
- Inline style lub link do istniejacego CSS (uzyc minimalnych styli)
- Sekcja `` na tresc
2. Utworzyc `resources/views/info/allegro.php`:
- Tresc strony informacyjnej:
- **Nazwa aplikacji:** orderPRO
- **Wersja:** dynamicznie z przekazanej zmiennej
- **Opis:** "orderPRO to aplikacja do zarzadzania zamowieniami z wielu kanalow sprzedazy (Allegro, sklepy internetowe). Umozliwia centralne przetwarzanie zamowien, generowanie etykiet przewozowych i sledzenie przesylek."
- **Integracja z Allegro:** "Aplikacja korzysta z Allegro REST API do importu zamowien, zarzadzania przesylkami oraz synchronizacji statusow."
- **Kontakt:** email kontaktowy (uzyc zmiennej lub hardcode)
- Profesjonalny, minimalistyczny design
- Jezyk strony: polski
- Escape wszystkich zmiennych przez $e()
Pliki istnieja: resources/views/layouts/public.php i resources/views/info/allegro.php
AC-2 i AC-3 satisfied: tresc informacyjna i profesjonalny wyglad
Publiczna strona /info z opisem aplikacji orderPRO
1. Uruchom aplikacje lokalnie
2. Odwiedz: http://localhost:8000/info (lub odpowiedni URL)
3. Sprawdz: strona laduje sie BEZ logowania
4. Sprawdz: widoczna nazwa aplikacji, opis, informacja o Allegro API
5. Sprawdz: wyglad profesjonalny i czytelny
6. Sprawdz: na mobile (zmniejsz okno) strona jest responsywna
Type "approved" to continue, or describe issues to fix
DO NOT CHANGE
- src/Modules/Auth/* (system autoryzacji)
- resources/views/layouts/app.php (layout aplikacji)
- Istniejace publiczne trasy (login, health, cron)
SCOPE LIMITS
- Tylko jedna strona /info — bez podstron
- Nie dodawac nowych zaleznosci CSS/JS
- Nie tworzyc systemu CMS — statyczna tresc w widoku
<success_criteria>
- Strona /info dostepna publicznie pod URL z User-Agent
- Tresc zgodna z wymaganiami Allegro (cel aplikacji, dane kontaktowe)
- Profesjonalny wyglad bez elementow wewnetrznych aplikacji </success_criteria>