@@ -23,14 +23,19 @@ deployed to GitHub Pages.
2323## Tech Stack
2424
2525- ** Backend** : Laravel 12 with PHP 8.4
26- - ** Frontend** : React (Inertia.js), TypeScript, Tailwind CSS
27- - ** Database** : PostgreSQL 17 with PgBouncer
26+ - ** Frontend** : React 19 with TypeScript, Inertia.js 2.x, Tailwind CSS 4
27+ - ** Build Tool** : Vite 7 with SSR support
28+ - ** Database** : PostgreSQL 17
29+ - ** Search** : Meilisearch for full-text search
2830- ** Caching** : Redis
2931- ** Development** : DDEV for local development environment
30- - ** Visualization** : ECharts for data visualization
32+ - ** Visualization** : Chart.js for data visualization
33+ - ** Testing** : Playwright for E2E and accessibility testing
3134- ** Deployment** : Docker for containerized deployment
3235- ** API** : RESTful API endpoints for Discord bot integration
3336
37+ For detailed architecture information, see the [ Frontend Architecture] ( https://akibaat.github.io/fvn.li/frontend-architecture.html ) documentation.
38+
3439## Getting Started
3540
3641### Prerequisites
@@ -61,7 +66,7 @@ deployed to GitHub Pages.
6166
62674 . Install JavaScript dependencies:
6368 ``` bash
64- ddev npm install
69+ ddev pnpm install
6570 ```
6671
67725 . Copy the environment file and generate an application key:
@@ -75,13 +80,15 @@ deployed to GitHub Pages.
7580 ddev artisan migrate
7681 ```
7782
78- 7 . Start the development server:
83+ 7 . Start the Vite development server:
7984 ``` bash
80- ddev npm run dev
85+ ddev pnpm dev
8186 ```
8287
83888 . Access the application at [ https://fvn-li.ddev.site ] ( https://fvn-li.ddev.site )
8489
90+ For more detailed development instructions, see the [ Development Guide] ( https://akibaat.github.io/fvn.li/development-guide.html ) .
91+
8592## Database Structure
8693
8794The application uses several key models:
@@ -108,7 +115,7 @@ The application can be deployed using Docker in production environments:
108115This will start the following containers:
109116
110117- Web application (Laravel)
111- - PostgreSQL database with PgBouncer
118+ - PostgreSQL database
112119- Redis for caching
113120
114121## Discord Bot Integration
@@ -138,6 +145,8 @@ Contributions are welcome! Please feel free to submit a Pull Request.
138145
139146## Testing
140147
148+ ### Backend Tests (PHPUnit)
149+
141150Run the test suite with the testing environment (served at https://fvn-li-testing.ddev.site ):
142151
143152``` bash
@@ -159,11 +168,41 @@ Reset the testing DB when needed:
159168ddev composer migrate:test
160169```
161170
171+ ### Frontend E2E Tests (Playwright)
172+
173+ ``` bash
174+ # Run all E2E tests
175+ ddev pnpm test:e2e
176+
177+ # Run in UI mode (interactive)
178+ ddev pnpm test:e2e:ui
179+
180+ # Run accessibility tests
181+ ddev pnpm test:a11y
182+
183+ # View test report
184+ ddev pnpm test:a11y:report
185+ ```
186+
187+ ### Code Quality
188+
189+ ``` bash
190+ # TypeScript type checking
191+ ddev pnpm types
192+
193+ # ESLint
194+ ddev pnpm lint
195+
196+ # Prettier formatting
197+ ddev pnpm format
198+ ddev pnpm format:check
199+ ```
200+
162201## DDEV Conventions
163202
164- - Run Composer and npm inside DDEV: ` ddev composer <cmd> ` , ` ddev npm <cmd> ` .
165- - Linting: ` ddev composer lint ` (PHP/Duster), ` ddev npm run lint ` (ESLint/Prettier) .
166- - Formatting : ` ddev composer lint:fix ` .
203+ - Run Composer and pnpm inside DDEV: ` ddev composer <cmd> ` , ` ddev pnpm <cmd> ` .
204+ - PHP Linting: ` ddev composer lint ` (PHP/Duster), ` ddev composer lint:fix ` .
205+ - Frontend Linting : ` ddev pnpm lint ` , ` ddev pnpm format ` .
167206- Git hooks run linters and tests via DDEV. Enable with ` composer hooks:install ` and ensure hooks are executable.
168207- Testing URL: ` fvn-li-testing.ddev.site ` is configured via DDEV ` additional_fqdns ` . Run ` ddev restart ` after pulling
169208 config changes.
@@ -180,10 +219,14 @@ This project is licensed under the MIT License - see the LICENSE file for detail
180219
181220## Acknowledgements
182221
183- - [ Laravel] ( https://laravel.com ) - The web framework used
184- - [ itch.io] ( https://itch.io ) - The game distribution platform this project tracks
185- - [ DDEV] ( https://ddev.com ) - Local development environment
186- Legacy Livewire removed; React/Inertia is the primary frontend.
222+ - [ Laravel] ( https://laravel.com ) - PHP web framework
223+ - [ React] ( https://react.dev ) - UI library
224+ - [ Inertia.js] ( https://inertiajs.com ) - Modern monolith framework
225+ - [ Vite] ( https://vitejs.dev ) - Frontend build tool
226+ - [ TypeScript] ( https://www.typescriptlang.org ) - Typed JavaScript
187227- [ Tailwind CSS] ( https://tailwindcss.com ) - CSS framework
188228- [ Chart.js] ( https://www.chartjs.org ) - Charting library
189- - [ Discord] ( https://discord.com ) - Platform for bot integration
229+ - [ Playwright] ( https://playwright.dev ) - E2E testing framework
230+ - [ itch.io] ( https://itch.io ) - Game distribution platform
231+ - [ Discord] ( https://discord.com ) - Bot integration platform
232+ - [ DDEV] ( https://ddev.com ) - Local development environment
0 commit comments