Skip to content

Commit 51f6f58

Browse files
committed
Update documentation
1 parent c218d4d commit 51f6f58

10 files changed

Lines changed: 2146 additions & 34 deletions

README.md

Lines changed: 58 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

6267
4. Install JavaScript dependencies:
6368
```bash
64-
ddev npm install
69+
ddev pnpm install
6570
```
6671

6772
5. 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

8388
8. 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

8794
The application uses several key models:
@@ -108,7 +115,7 @@ The application can be deployed using Docker in production environments:
108115
This 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+
141150
Run 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:
159168
ddev 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

Writerside/in.tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
name="FVN.li Documentation" start-page="README.md">
77

88
<toc-element topic="README.md"/>
9+
<toc-element topic="frontend-architecture.md"/>
10+
<toc-element topic="development-guide.md"/>
911
<toc-element toc-title="Commands">
1012
<toc-element topic="commands-overview.md" toc-title="Overview"/>
1113
<toc-element toc-title="Fix Commands">
@@ -48,6 +50,12 @@
4850
<toc-element topic="ratings-backfill.md" toc-title="Backfill Ratings"/>
4951
<toc-element topic="ratings-import.md" toc-title="Import Ratings"/>
5052
</toc-element>
53+
<toc-element toc-title="Meilisearch Commands">
54+
<toc-element topic="meilisearch-commands-overview.md"/>
55+
<toc-element topic="meilisearch-setup.md" toc-title="Setup"/>
56+
<toc-element topic="meilisearch-reindex.md" toc-title="Reindex"/>
57+
<toc-element topic="scout-sync-index-settings.md" toc-title="Sync Index Settings"/>
58+
</toc-element>
5159
<toc-element toc-title="Sitemap Commands">
5260
<toc-element topic="sitemap-commands-overview.md"/>
5361
<toc-element topic="sitemap-generate.md" toc-title="Generate Sitemap"/>

0 commit comments

Comments
 (0)