docs: update

This commit is contained in:
Takeshi Kimata
2024-06-23 12:08:26 +09:00
parent 1af3ba05e6
commit faf5790a01
24 changed files with 3640 additions and 1703 deletions

View File

@@ -1,4 +1,4 @@
{
"label": "Architecuture",
"position": 4
"position": 5
}

View File

@@ -1,7 +1,154 @@
---
sidebar_position: 3
sidebar_position: 1
---
# ER diagram
![ER](./img/er.svg)
```mermaid
erDiagram
users ||--o{ projects : "user has projects"
users ||--o{ members : "user has members"
projects ||--o{ members: "project has members"
projects ||--o{ folders: "project has folders"
projects ||--o{ runs: "project has runs"
projects ||--o{ "plans(unimplemented)": "project has plans"
"plans(unimplemented)" ||--o{ "planRuns(unimplemented)": "plan has planRuns"
runs ||--o{ "planRuns(unimplemented)": "run has planRuns"
folders ||--o{ cases: "folder has cases"
cases ||--o{ caseSteps: "has"
steps ||--o{ caseSteps: "has"
cases ||--o{ caseAttachments: "has"
attachments ||--o{ caseAttachments: "has"
cases ||--o{ "caseTags(unimplemented)": "has"
"tags(unimplemented)" ||--o{ "caseTags(unimplemented)": "has"
users {
integer id PK
string email
string password
string username
integer role
string avatarPath
timestamp created_at
timestamp deleted_at
}
projects {
integer id PK
string name
string detail
boolean isPublic
integer userId FK
timestamp created_at
timestamp deleted_at
}
members {
integer id PK
integer userId FK
integer projectID FK
integer role
}
folders {
integer id PK
string name
string detail
integer parentFolderId
integer projectId FK
timestamp created_at
timestamp deleted_at
}
runs {
integer id PK
string name
string configurations
string description
integer state
integer projectId FK
timestamp created_at
timestamp deleted_at
}
"plans(unimplemented)" {
integer id PK
string name
string description
timestamp startDate
timestamp endDate
integer projectId FK
timestamp created_at
timestamp deleted_at
}
"planRuns(unimplemented)" {
integer id PK
integer planId FK
integer runId FK
timestamp created_at
timestamp deleted_at
}
cases {
integer id PK
string title
integer state
integer priority
integer type
integer automationStatus
string description
integer template
string preConditions
string expectedResults
integer folderId FK
timestamp created_at
timestamp deleted_at
}
steps {
integer id PK
string step
string result
timestamp created_at
timestamp deleted_at
}
caseSteps {
integer id PK
integer caseId FK
integer stepId FK
integer stepNo
}
attachments {
integer id PK
string title
string detail
string path
timestamp created_at
timestamp deleted_at
}
caseAttachments {
integer id PK
integer caseId FK
integer attachmentId FK
}
"tags(unimplemented)" {
integer id PK
string name
integer projectId FK
timestamp created_at
timestamp deleted_at
}
"caseTags(unimplemented)" {
integer id PK
integer caseId FK
integer tagId FK
timestamp created_at
timestamp deleted_at
}
```

View File

@@ -1,17 +0,0 @@
---
sidebar_position: 2
---
## Functions
## MUST
- Test cases can be managed.
- Multiple people can operate/view apps for team development
## SHOULD
- Easily self host the application (docker?)
- Test case descriptions can be written in markdown.
- Import the results of automated testing tools (Vitest, Google Test...) and test them manually. Import the results of automated testing tools (Vitest, Google Test...) and integrate them with manual test results

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 63 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

View File

@@ -1,18 +0,0 @@
---
sidebar_position: 1
---
# Architecture
Separate the front-end server that provides the UI and the API server that provides the API to make the system loosely coupled.
## Frontend
Create UI with React, Next.js.
## Backend(API server)
It does not generate any views, but only has API functions.
- DB access
- Authentication, authorization

View File

@@ -12,29 +12,29 @@ Deploy the frontend to Vercel and the backend to Render.
#### Environment Variables
|key|value|
|-|-|
|NEXT_PUBLIC_BACKEND_ORIGIN|`your backend server origin`|
| key | value |
| -------------------------- | ---------------------------- |
| NEXT_PUBLIC_BACKEND_ORIGIN | `your backend server origin` |
#### Settings
|Settings|value|
|-|-|
|Root Directory|`frontend`|
|Framework Preset|`Next.js`|
| Settings | value |
| ---------------- | ---------- |
| Root Directory | `frontend` |
| Framework Preset | `Next.js` |
### Render Configuration
#### Environment Variables
|key|value|
|-|-|
|FRONTEND_ORIGIN|`your frontend server origin`|
| key | value |
| --------------- | ----------------------------- |
| FRONTEND_ORIGIN | `your frontend server origin` |
#### Settings
|Settings|value|
|-|-|
|Root Directory|`backend`|
|Build Command|`npm ci && npm run migrate && npm run seed`|
|Start Command|`npm run index`|
| Settings | value |
| -------------- | ------------------------------------------- |
| Root Directory | `backend` |
| Build Command | `npm ci && npm run migrate && npm run seed` |
| Start Command | `npm run start` |

View File

@@ -10,7 +10,7 @@ Prerequisite: v20 or higher node must be installed.
:::
To use UnitTCMS, you need run frontend server and backend server (API server).
To use UnitTCMS, you need run frontend server and backend(API) server.
First, clone the repository.
@@ -20,7 +20,7 @@ git clone git@github.com:kimatata/unittcms.git
## Run backend server
Moves to backend directory, then install dependencies.
Move to backend directory, then install dependencies.
```bash
cd backend
@@ -36,20 +36,26 @@ npm run migrate
Start backend server.
```bash
node index
npm run start
```
## Run frontend server
Moves to frontend directory, then install dependencies.
Move to frontend directory, then install dependencies.
```bash
cd frontend
npm install
```
Start frontend server
Build frontend code
```bash
rpm run dev
npm run dev
```
Start frontend server
```
PORT=8000 npm run start
```

View File

@@ -4,4 +4,4 @@ sidebar_position: 1
# UnitTCMS
Open Source Test Case Management Web Application
Open Source Test Case Management System

View File

@@ -0,0 +1,4 @@
{
"label": "Roadmap",
"position": 4
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 233 KiB

View File

@@ -1,14 +1,18 @@
---
sidebar_position: 4
sidebar_position: 2
---
# Integration
# Roadmap
We would like to be able to display results not only from manual test management, but also from automated test tools such as Vitest, Google Test, Selenium, etc.
## 📝markdown editor
Since the JUnit xml format is the de facto standard, we will import via the xml file. UnitTCMS itself should also be able to report manual test results in Junit XML format.
Test case details and steps can be edited with markdown
![integration](./img/integration.png)
## 📊JUnit xml integration
### JUnit xml report output
Since JUnit's xml format is the de facto standard, we would like to output reports in that format.
```xml title="Junit xml"
<?xml version="1.0" encoding="UTF-8"?>
@@ -34,3 +38,10 @@ Since the JUnit xml format is the de facto standard, we will import via the xml
</testsuite>
</testsuites>
```
### Importing and displaying Junit xml
We would like to be able to display not only manual test results, but also automated test results such as JUnit, Vitest, Selenium, etc.
Import the results of automated testing tools and integrate them with manual test results.
![integration](./img/integration.svg)

View File

@@ -4,7 +4,7 @@ sidebar_position: 1
# Roles
There are two types of roles in UnitTCMS: "Global roles" and "Project roles".
There are "Global roles," which are site-wide roles, and "project roles" which are project-specific roles.
## Global roles