Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ fvn.li Public

A Laravel-based web application that tracks, analyzes, and provides insights into visual novels published on itch.io. Features include game version tracking, dialogue analysis, character statistics, community ratings, and Discord integration for game updates.

License

AkibaAT/fvn.li

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FVN.li - Visual Novel Analytics and Tracking

Deploy Writerside Documentation

FVN.li is a web application that tracks, analyzes, and provides insights into games published on itch.io. It collects data about games, their versions, ratings, and dialogue content, making it easier for users to discover and evaluate games on the platform. The project is deployed and accessible at FVN.li.

Documentation

📚 View Documentation - Comprehensive documentation built with Writerside and deployed to GitHub Pages.

Features

  • Game Tracking: Monitor games published on itch.io, including metadata, versions, and ratings
  • Dialogue Browser: Explore game dialogue content across different versions and languages
  • Rating System: View and analyze game ratings from the community
  • Language Support: Track supported languages for games and analyze translation coverage
  • Character Statistics: View character statistics and dialogue distribution
  • Discord Bot Integration: Get notified about game updates via Discord

Tech Stack

  • Backend: Laravel 12 with PHP 8.4
  • Frontend: React 19 with TypeScript, Inertia.js 2.x, Tailwind CSS 4
  • Build Tool: Vite 7 with SSR support
  • Database: PostgreSQL 17
  • Search: Meilisearch for full-text search
  • Caching: Redis
  • Development: DDEV for local development environment
  • Visualization: Chart.js for data visualization
  • Testing: Playwright for E2E and accessibility testing
  • Deployment: Docker for containerized deployment
  • API: RESTful API endpoints for Discord bot integration

For detailed architecture information, see the Frontend Architecture documentation.

Getting Started

Prerequisites

Local Development Setup

  1. Clone the repository:

    git clone https://github.com/AkibaAT/fvn.li.git
    cd fvn.li
  2. Start the DDEV environment:

    ddev start
  3. Install PHP dependencies:

    ddev composer install
  4. Install JavaScript dependencies:

    ddev pnpm install
  5. Copy the environment file and generate an application key:

    cp .env.example .env
    ddev artisan key:generate
  6. Run database migrations:

    ddev artisan migrate
  7. Start the Vite development server:

    ddev pnpm dev
  8. Access the application at https://fvn-li.ddev.site

For more detailed development instructions, see the Development Guide.

Database Structure

The application uses several key models:

  • Game: Core game information from itch.io
  • GameVersion: Tracks different versions of games
  • Rater: Users who rate games
  • Rating: Individual ratings for games
  • DialogueLine: Game dialogue content
  • Character: Characters in games
  • Language: Supported languages for games
  • DiscordUser: Discord users subscribed to game updates

Docker Deployment

The application can be deployed using Docker in production environments:

  1. Configure environment variables in .env
  2. Use the provided docker-compose.yml to start the application:
    docker compose up -d

This will start the following containers:

  • Web application (Laravel)
  • PostgreSQL database
  • Redis for caching

Discord Bot Integration

The application includes a Discord bot integration that provides:

  • Game update notifications for subscribers
  • Game search functionality
  • User subscription management

Bot API endpoints are available at:

  • /api/search - Search for games
  • /api/updates - Get recent game updates
  • /api/subscribe - Subscribe to update notifications
  • /api/unsubscribe - Unsubscribe from notifications

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Testing

Backend Tests (PHPUnit)

Run the test suite with the testing environment (served at https://fvn-li-testing.ddev.site):

ddev artisan test --env=testing
# or, via Composer script (also uses --env=testing)
ddev composer test

For coverage or parallel runs, use:

ddev composer test:coverage
ddev composer test:parallel

Reset the testing DB when needed:

ddev composer migrate:test

Frontend E2E Tests (Playwright)

# Run all E2E tests
ddev pnpm test:e2e

# Run in UI mode (interactive)
ddev pnpm test:e2e:ui

# Run accessibility tests
ddev pnpm test:a11y

# View test report
ddev pnpm test:a11y:report

Code Quality

# TypeScript type checking
ddev pnpm types

# ESLint
ddev pnpm lint

# Prettier formatting
ddev pnpm format
ddev pnpm format:check

DDEV Conventions

  • Run Composer and pnpm inside DDEV: ddev composer <cmd>, ddev pnpm <cmd>.
  • PHP Linting: ddev composer lint (PHP/Duster), ddev composer lint:fix.
  • Frontend Linting: ddev pnpm lint, ddev pnpm format.
  • Git hooks run linters and tests via DDEV. Enable with composer hooks:install and ensure hooks are executable.
  • Testing URL: fvn-li-testing.ddev.site is configured via DDEV additional_fqdns. Run ddev restart after pulling config changes.
  • Dev URL: fvn-li.ddev.site (default DDEV project URL).

Deployment

The application is deployed at FVN.li. Deployment is handled through GitHub Actions which builds and publishes Docker images to GitHub Container Registry.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

About

A Laravel-based web application that tracks, analyzes, and provides insights into visual novels published on itch.io. Features include game version tracking, dialogue analysis, character statistics, community ratings, and Discord integration for game updates.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •