docs: update
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"label": "Architecuture",
|
||||
"position": 4
|
||||
"position": 5
|
||||
}
|
||||
|
||||
@@ -1,7 +1,154 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# ER diagram
|
||||
|
||||

|
||||
```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
|
||||
}
|
||||
```
|
||||
|
||||
@@ -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 |
@@ -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
|
||||
@@ -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` |
|
||||
|
||||
@@ -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
|
||||
```
|
||||
|
||||
@@ -4,4 +4,4 @@ sidebar_position: 1
|
||||
|
||||
# UnitTCMS
|
||||
|
||||
Open Source Test Case Management Web Application
|
||||
Open Source Test Case Management System
|
||||
|
||||
4
docs/docs/roadmap/_category_.json
Normal file
4
docs/docs/roadmap/_category_.json
Normal file
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"label": "Roadmap",
|
||||
"position": 4
|
||||
}
|
||||
1
docs/docs/roadmap/img/integration.drawio
Normal file
1
docs/docs/roadmap/img/integration.drawio
Normal file
File diff suppressed because one or more lines are too long
4
docs/docs/roadmap/img/integration.svg
Normal file
4
docs/docs/roadmap/img/integration.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 233 KiB |
@@ -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
|
||||
|
||||

|
||||
## 📊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.
|
||||
|
||||

|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user