Skip to content

Commit

Permalink
[skip ci] docs: automated update to docs
Browse files Browse the repository at this point in the history
skip-checks: true
  • Loading branch information
andrew-codes authored and github-actions[bot] committed Oct 18, 2024
1 parent 8e4fb05 commit 694cd7c
Show file tree
Hide file tree
Showing 22 changed files with 128 additions and 112 deletions.
4 changes: 3 additions & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@
- [api/mqtt](documents/api/mqtt.md)
- [CONTRIBUTING](documents/CONTRIBUTING.md)
- [contributing/conventions](documents/contributing/conventions.md)
- [contributing/development-environment](documents/contributing/development-environment.md)
- [contributing/development-environment/codespaces](documents/contributing/development-environment/codespaces.md)
- [contributing/development-environment/index](documents/contributing/development-environment/index.md)
- [contributing/development-environment/local-environment](documents/contributing/development-environment/local-environment.md)
- [contributing/rfc](documents/contributing/rfc.md)
- [design/README](documents/design/README.md)
- [guides/setup](documents/guides/setup.md)
Expand Down
94 changes: 0 additions & 94 deletions docs/documents/contributing/development-environment.md

This file was deleted.

28 changes: 28 additions & 0 deletions docs/documents/contributing/development-environment/codespaces.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[**playnite-web-app**](../../../README.md)**Docs**

***

[playnite-web-app](../../../README.md) / contributing/development-environment/codespaces

# Developer Environment: Codespace

## Required Software

Install the following software on your local machine:

1. [vscode](https://code.visualstudio.com/Download)
2. XServer (for running Cypress tests in codespace).
- For OSX, recommend: [XQuartz](https://www.bing.com/ck/a?!&&p=c21da4f99329c03fJmltdHM9MTcxODg0MTYwMCZpZ3VpZD0zOTJjZTBlOC1iMzRjLTY3Y2MtMDU4NC1mM2NkYjI2MDY2NjUmaW5zaWQ9NTIyNw&ptn=3&ver=2&hsh=3&fclid=392ce0e8-b34c-67cc-0584-f3cdb2606665&psq=xquartz+&u=a1aHR0cHM6Ly93d3cueHF1YXJ0ei5vcmcv&ntb=1)
- For Windows, still need a recommendation.

## Preparing Codebase

1. [Fork the playnite-web repo](https://github.com/andrew-codes/playnite-web/fork)
2. Ensure your XServer application is running on local machine.
- Ensure your XServer is configured to Authenticate and Allow Connections from network clients
3. Start a codespace and open in vscode.
4. Run `yarn`
5. Run `yarn run start`
6. In vscode, forward port 3000. This can be found in same pane as the terminal.
7. Open [http://localhost:3000](http://localhost:3000).
8. Continue to see [commands](./index.md#running-playnite-web) for running tests.
44 changes: 44 additions & 0 deletions docs/documents/contributing/development-environment/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[**playnite-web-app**](../../../README.md)**Docs**

***

[playnite-web-app](../../../README.md) / contributing/development-environment/index

# Development Environment

- [Development Environment](#development-environment)
- [Overview](#overview)
- [Running Playnite Web](#running-playnite-web)
- [Playnite Web Plugin Development](#playnite-web-plugin-development)

## Overview

There are a few options for running Playnite Web for local development. Choose and follow one of the paths below. Then proceed to the next section.

1. (preferred) [Local environment](local-environment.md), directly on your development machine (requires installing required tooling such as Node.js, yarn, etc.).
2. Via a GitHub codespace (the plugin cannot be run this way).
3. Via Docker and the included dev container (the plugin cannot be run this way).

> Note the second and third options maybe encounter issues or additional configuration when running component and E2E tests.
## Running Playnite Web

| Application | Command | Notes |
| :--------------- | :-------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Playnite Web App | `yarn run start` | Run Playnite Web application locally. Navigate to [https://localhost:3000](https://localhost:3000) in a browser. Environment variables are pulled from `./apps/playnite-web/local.env`. |
| Playnite Web App | `yarn run test/components` | Run component tests for development. |
| Playnite Web App | `yarn run test/components/update` | Run component tests with intention to update a baseline screenshot. |
| Playnite Web App | `yarn yarn run test/e2e` | Run end-to-end (e2e) tests for development (including visual regression capabilities). A consistent database restored along with consistent game assets. This ensures a reliable data set to test against. |
| Playnite Web App | `yarn yarn run test/e2e/update` | Run end-to-end (e2e) tests with intention to update a baseline screenshot. |

## Playnite Web Plugin Development

To develop the Playnite Web plugin, a Windows machine is required. Playnite must be installed. Recommendation is to use Visual Studio Community edition for development.

1. Install required software
- Playnite
- Visual Studio
2. Open the solution file in Visual Studio; located in `apps/PlayniteWebPlugin/src/PlayniteWeb.sln`.
3. Build the solution.
4. Open Playnite and add the path to the bin directory as a local plugin. This setting is found under the Developer section in the settings.
5. Debugging opens Playnite with the plugin installed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
[**playnite-web-app**](../../../README.md)**Docs**

***

[playnite-web-app](../../../README.md) / contributing/development-environment/local-environment

# Developer Environment: Local

## Required Software

Install the following software on your local development machine:

1. git
2. Bash (this guide assumes a bash shell)
3. [vscode](https://code.visualstudio.com/Download)
4. [Docker](https://www.docker.com/products/docker-desktop/) (for Mongodb and MQTT dependencies)
5. [Node.js@>=22.5.0](https://nodejs.org/en/download/package-manager) (recommend using `nvm` to manage Node.js installations)
- [nvm for OSX](https://github.com/nvm-sh/nvm)
- [nvm for Windows](https://github.com/coreybutler/nvm-windows)
6. [yarn@^4.0.0](https://yarnpkg.com/getting-started)
- With Node.js installed, run `corepack enable && corepack prepare --activate yarn@^4.0.0 && yarn set version berry`

## Preparing Codebase

1. [Fork the playnite-web repo](https://github.com/andrew-codes/playnite-web/fork)
2. Clone your forked repo to your local development machine.
3. Open the repo in vscode.
4. Run `yarn`
5. Run `yarn nx run devenv:prepare`. This is only required for the first time working with the codebase.
6. Run `yarn run start` and navigate to [https://localhost:3000](https://localhost:3000)
- Note that MQTT and Mongo will be started via docker automatically.
- Mongo will restore a default database if no database already exists (if there are no files in `.data/mongodb`).
- Note MQTT currently starts with no username/password configured.
7. \[Optional\]: override environment variables when running locally via `cp apps/playnite-web/local.env apps/playnite-web/overrides.env`
- **REMEMBER: do not commit `overrides.env` or sensitive information in `local.env`.**
8. Continue to see [commands](./index.md#running-playnite-web) for running tests.
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/CompletionStatus.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ Completion statuses are used to describe a player's progress in a game.

## Defined in

[types.entities.ts:184](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L184)
[types.entities.ts:184](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L184)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Entity.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ Supported entities.

## Defined in

[types.entities.ts:96](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L96)
[types.entities.ts:96](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L96)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Game.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ A game may have multiple releases across different platforms and sources.

## Defined in

[types.entities.ts:220](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L220)
[types.entities.ts:220](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L220)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/GameAsset.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ Game assets are used to associate images with entities.

## Defined in

[types.entities.ts:327](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L327)
[types.entities.ts:327](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L327)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/GameAssetType.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ Game asset types represent the types of game assets that can be associated with

## Defined in

[types.entities.ts:317](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L317)
[types.entities.ts:317](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L317)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/GameFeature.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ Features are used to describe a game's characteristics.

## Defined in

[types.entities.ts:162](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L162)
[types.entities.ts:162](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L162)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/GameSource.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ Sources are used to describe where a game was obtained.

## Defined in

[types.entities.ts:206](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L206)
[types.entities.ts:206](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L206)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Genre.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@ Genres are used to categorize games by their game play characteristics.

## Defined in

[types.entities.ts:173](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L173)
[types.entities.ts:173](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L173)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Identifiable.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ Foundation of all data entities; all data entities have an ID.
## Defined in

[types.entities.ts:4](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L4)
[types.entities.ts:4](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L4)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ Platforms are used to categorize games by the system they are played on. Note a

## Defined in

[types.entities.ts:116](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L116)
[types.entities.ts:116](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L116)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Playlist.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@ Playlists are used to group games together for easy access. A playlist consists

## Defined in

[types.entities.ts:299](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L299)
[types.entities.ts:299](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L299)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Release.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,4 +152,4 @@ A release is a specific version of a game that is available on a platform and so

## Defined in

[types.entities.ts:255](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L255)
[types.entities.ts:255](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L255)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/RunState.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ Run states are used to describe the current state of a game's process.

## Defined in

[types.entities.ts:247](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L247)
[types.entities.ts:247](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L247)
2 changes: 1 addition & 1 deletion docs/types.entities/type-aliases/Series.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ The "Assassin's Creed" series would include all games in the "Assassin's Creed"

## Defined in

[types.entities.ts:151](https://github.com/andrew-codes/playnite-web/blob/f4b196c836ff1f14161b4d04346bf7c194eb1fa5/apps/playnite-web/src/server/data/types.entities.ts#L151)
[types.entities.ts:151](https://github.com/andrew-codes/playnite-web/blob/8e4fb0564dac8f04f0ec7b3de8bb1500c246dd52/apps/playnite-web/src/server/data/types.entities.ts#L151)
Loading

0 comments on commit 694cd7c

Please sign in to comment.