Bläddra i källkod

doc: Added contribution guide line

Alex Tran 2 år sedan
förälder
incheckning
2782dae518

+ 78 - 1
docs/docs/contribution-guidelines.md

@@ -2,4 +2,81 @@
 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.

+ 1 - 1
docs/docs/mobile-app-beta-program.md

@@ -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
 

+ 11 - 0
docs/docs/usage/update.md

@@ -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`
+```

+ 6 - 6
docs/docusaurus.config.js

@@ -42,10 +42,10 @@ const config = {
           // Remove this to remove the "edit this page" links.
           editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
         },
-        blog: {
-          showReadingTime: true,
-          editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
-        },
+        // blog: {
+        //   showReadingTime: true,
+        //   editUrl: "https://github.com/immich-app/immich/tree/main/docs/",
+        // },
         theme: {
           customCss: require.resolve("./src/css/custom.css"),
         },
@@ -58,7 +58,7 @@ const config = {
     ({
       announcementBar: {
         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",
         textColor: "#ffefc9",
         isCloseable: false,
@@ -80,7 +80,7 @@ const config = {
             position: "right",
             label: "Documentation",
           },
-          { to: "/blog", label: "Blog", position: "right" },
+          // { to: "/blog", label: "Blog", position: "right" },
           {
             href: "https://github.com/immich-app/immich",
             label: "GitHub",