doc: Added contribution guide line

This commit is contained in:
Alex Tran
2022-11-03 22:26:09 -05:00
parent 0f9c2f0a38
commit 2782dae518
4 changed files with 96 additions and 8 deletions

View File

@ -2,4 +2,81 @@
sidebar_position: 5 sidebar_position: 5
--- ---
# Contribution Guidelines # Contribution guidelines
## Environment setup
### Server and web app
This environment includes the following services:
- Core server - `/server/apps/immich`
- Machine learning - `/machine-learning`
- Microservices - `/server/apps/microservicess`
- Web app - `/web`
- Redis
- PostgreSQL development database with exposed port `5432` so you can use any database client to acess it
- NGINX Proxy - `nginx/nginx.conf`
All the services are packaged to run as with single Docker Compose command.
After cloning the project, from the root directory run
```bash title="Start development server"
make dev # required Makefile installed on the system.
```
All the services will be started with hot-reloading enabled for a quick feedback loop.
### Mobile app
The mobile app `(/mobile)` will required Flutter toolchain to be installed on your system.
Please refer to the [Flutter's official documentation](https://flutter.dev/docs/get-started/install) for more information on setting up the toolchain on your machine.
## IDE setup
### Lint / format extensions
Setting these in the IDE give a better developer experience auto-formatting code on save and providing instant feedback on lint issues.
### VSCode
Install `Flutter`, `Prettier`, `ESLint` and `Svelte` extensions.
in User `settings.json` (`cmd + shift + p` and search for `Open User Settings JSON`) add the following:
```json title="settings.json"
{
"editor.formatOnSave": true,
"[javascript][typescript][css]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.formatOnSave": true
},
"[svelte]": {
"editor.defaultFormatter": "svelte.svelte-vscode",
"editor.tabSize": 2
},
"svelte.enable-ts-plugin": true,
"eslint.validate": ["javascript", "svelte"],
"[dart]": {
"editor.formatOnSave": true,
"editor.selectionHighlight": false,
"editor.suggest.snippetsPreventQuickSuggestions": false,
"editor.suggestSelection": "first",
"editor.tabCompletion": "onlySnippets",
"editor.wordBasedSuggestions": false,
"editor.defaultFormatter": "Dart-Code.dart-code"
}
}
```
## OpenAPI generator
OpenAPI is used to generate the client (Typescript, Dart) SDK. `openapi-generator-cli` can be installed [here](https://openapi-generator.tech/docs/installation/). When you add a new or modify an existing endpoint, you must run the command below to update the client SDK.
```bash
npm run api:generate # Run from the `server` directory
```
You can find the generated client SDK in the `web/src/api` for Typescript SDK and `mobile/openapi` for Dart SDK.

View File

@ -3,7 +3,7 @@ sidebar_position: 4
--- ---
# Mobile App Beta Program # Mobile app Beta program
Join the beta release channel to test the latest update of the app Join the beta release channel to test the latest update of the app

11
docs/docs/usage/update.md Normal file
View File

@ -0,0 +1,11 @@
---
sidebar_position: 4
---
# Update the application
If you are using Docker Compose, to update the application use the following commands in the directory where the `docker-compose.yml` file is located:
```bash title="Update Immich"
docker-compose pull && docker-compose up -d # Or `docker compose`
```

View File

@ -42,10 +42,10 @@ const config = {
// Remove this to remove the "edit this page" links. // Remove this to remove the "edit this page" links.
editUrl: "https://github.com/immich-app/immich/tree/main/docs/", editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
}, },
blog: { // blog: {
showReadingTime: true, // showReadingTime: true,
editUrl: "https://github.com/immich-app/immich/tree/main/docs/", // editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
}, // },
theme: { theme: {
customCss: require.resolve("./src/css/custom.css"), customCss: require.resolve("./src/css/custom.css"),
}, },
@ -58,7 +58,7 @@ const config = {
({ ({
announcementBar: { announcementBar: {
id: "site_announcement_immich", id: "site_announcement_immich",
content: `⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use as a single source to store of your photos and videos!`, content: `⚠️ The project is under <strong>very active</strong> development. Expect bugs and changes. Do not use as a <strong>single source</strong> to store of your photos and videos!`,
backgroundColor: "#593f00", backgroundColor: "#593f00",
textColor: "#ffefc9", textColor: "#ffefc9",
isCloseable: false, isCloseable: false,
@ -80,7 +80,7 @@ const config = {
position: "right", position: "right",
label: "Documentation", label: "Documentation",
}, },
{ to: "/blog", label: "Blog", position: "right" }, // { to: "/blog", label: "Blog", position: "right" },
{ {
href: "https://github.com/immich-app/immich", href: "https://github.com/immich-app/immich",
label: "GitHub", label: "GitHub",