diff --git a/.github/ISSUE_TEMPLATE/ask-for-help.md b/.github/ISSUE_TEMPLATE/ask-for-help.md
index 8184f8409..79ec21c66 100644
--- a/.github/ISSUE_TEMPLATE/ask-for-help.md
+++ b/.github/ISSUE_TEMPLATE/ask-for-help.md
@@ -9,9 +9,8 @@ assignees: ''
**Is it a duplicate question?**
Please search in Issues without filters: https://github.com/louislam/uptime-kuma/issues?q=
-
**Describe your problem**
-
+Please describe what you are asking for
**Info**
Uptime Kuma Version:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 55b7da275..9c4d5dc4f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -6,7 +6,7 @@ The project was created with vite.js (vue3). Then I created a sub-directory call
The frontend code build into "dist" directory. The server (express.js) exposes the "dist" directory as root of the endpoint. This is how production is working.
-# Key Technical Skills
+## Key Technical Skills
- Node.js (You should know what are promise, async/await and arrow function etc.)
- Socket.io
@@ -15,7 +15,7 @@ The frontend code build into "dist" directory. The server (express.js) exposes t
- Bootstrap
- SQLite
-# Directories
+## Directories
- data (App data)
- dist (Frontend build)
@@ -25,41 +25,41 @@ The frontend code build into "dist" directory. The server (express.js) exposes t
- src (Frontend source code)
- test (unit test)
-# Can I create a pull request for Uptime Kuma?
+## Can I create a pull request for Uptime Kuma?
Generally, if the pull request is working fine and it do not affect any existing logic, workflow and perfomance, I will merge into the master branch once it is tested.
If you are not sure, feel free to create an empty pull request draft first.
-## Pull Request Examples
+### Pull Request Examples
-### ✅ High - Medium Priority
+#### ✅ High - Medium Priority
- Add a new notification
- Add a chart
- Fix a bug
- Translations
-### *️⃣ Requires one more reviewer
+#### *️⃣ Requires one more reviewer
I do not have such knowledge to test it.
- Add k8s supports
-### *️⃣ Low Priority
+#### *️⃣ Low Priority
It changed my current workflow and require further studies.
- Change my release approach
-### ❌ Won't Merge
+#### ❌ Won't Merge
- Duplicated pull request
- Buggy
- Existing logic is completely modified or deleted
- A function that is completely out of scope
-# Project Styles
+## Project Styles
I personally do not like something need to learn so much and need to config so much before you can finally start the app.
@@ -68,32 +68,32 @@ I personally do not like something need to learn so much and need to config so m
- Settings should be configurable in the frontend. Env var is not encouraged.
- Easy to use
-# Coding Styles
+## Coding Styles
- 4 spaces indentation
- Follow `.editorconfig`
- Follow ESLint
-# Name convention
+## Name convention
- Javascript/Typescript: camelCaseType
- SQLite: underscore_type
- CSS/SCSS: dash-type
-# Tools
+## Tools
- Node.js >= 14
- Git
- IDE that supports ESLint and EditorConfig (I am using Intellji Idea)
- A SQLite tool (SQLite Expert Personal is suggested)
-# Install dependencies
+## Install dependencies
```bash
npm ci
```
-# How to start the Backend Dev Server
+## How to start the Backend Dev Server
(2021-09-23 Update)
@@ -103,7 +103,7 @@ npm run start-server-dev
It binds to `0.0.0.0:3001` by default.
-## Backend Details
+### Backend Details
It is mainly a socket.io app + express.js.
@@ -116,24 +116,26 @@ express.js is just used for serving the frontend built files (index.html, .js an
- scoket-handler (Socket.io Handlers)
- server.js (Server main logic)
-# How to start the Frontend Dev Server
+## How to start the Frontend Dev Server
1. Set the env var `NODE_ENV` to "development".
2. Start the frontend dev server by the following command.
+
```bash
npm run dev
```
+
It binds to `0.0.0.0:3000` by default.
You can use Vue.js devtools Chrome extension for debugging.
-## Build the frontend
+### Build the frontend
```bash
npm run build
```
-## Frontend Details
+### Frontend Details
Uptime Kuma Frontend is a single page application (SPA). Most paths are handled by Vue Router.
@@ -143,24 +145,23 @@ As you can see, most data in frontend is stored in root level, even though you c
The data and socket logic are in `src/mixins/socket.js`.
-
-# Database Migration
+## Database Migration
1. Create `patch-{name}.sql` in `./db/`
2. Add your patch filename in the `patchList` list in `./server/database.js`
-# Unit Test
+## Unit Test
It is an end-to-end testing. It is using Jest and Puppeteer.
-```
+```bash
npm run build
npm test
```
By default, the Chromium window will be shown up during the test. Specifying `HEADLESS_TEST=1` for terminal environments.
-# Update Dependencies
+## Update Dependencies
Install `ncu`
https://github.com/raineorshine/npm-check-updates
@@ -170,10 +171,10 @@ ncu -u -t patch
npm install
```
-Since previously updating vite 2.5.10 to 2.6.0 broke the application completely, from now on, it should update patch release version only.
+Since previously updating vite 2.5.10 to 2.6.0 broke the application completely, from now on, it should update patch release version only.
-Patch release = the third digit
+Patch release = the third digit ([Semantic Versioning](https://semver.org/))
-# Translations
+## Translations
Please read: https://github.com/louislam/uptime-kuma/tree/master/src/languages
diff --git a/README.md b/README.md
index ef92cf47e..1dc492bf5 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,6 @@
-