Change name
@@ -1,4 +1,4 @@
|
||||
# TestPlat Backend
|
||||
# LandTCMS Backend
|
||||
|
||||
## Install dependencies
|
||||
|
||||
@@ -38,4 +38,4 @@ npm run drop
|
||||
|
||||
```bash
|
||||
npm run seed
|
||||
```
|
||||
```
|
||||
|
||||
@@ -9,7 +9,7 @@ module.exports = {
|
||||
// Add projects table records
|
||||
await queryInterface.bulkInsert('users', [
|
||||
{
|
||||
email: 'admin@testplat.com',
|
||||
email: 'admin@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Admin',
|
||||
role: 0,
|
||||
@@ -18,7 +18,7 @@ module.exports = {
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
email: 'samuel@testplat.com',
|
||||
email: 'samuel@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Samuel Golden',
|
||||
role: 1,
|
||||
@@ -27,7 +27,7 @@ module.exports = {
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
email: 'trey@testplat.com',
|
||||
email: 'trey@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Trey Fisher',
|
||||
role: 1,
|
||||
@@ -36,7 +36,7 @@ module.exports = {
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
email: 'zoe@testplat.com',
|
||||
email: 'zoe@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Zoe Woodward',
|
||||
role: 1,
|
||||
@@ -45,7 +45,7 @@ module.exports = {
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
email: 'roger@testplat.com',
|
||||
email: 'roger@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Roger Hess',
|
||||
role: 1,
|
||||
@@ -54,7 +54,7 @@ module.exports = {
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
email: 'jasmine@testplat.com',
|
||||
email: 'jasmine@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Jasmine Moody',
|
||||
role: 1,
|
||||
@@ -63,7 +63,7 @@ module.exports = {
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
email: 'tatsuya@testplat.com',
|
||||
email: 'tatsuya@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Suzuki Tatsuya',
|
||||
role: 1,
|
||||
@@ -72,7 +72,7 @@ module.exports = {
|
||||
updatedAt: new Date(),
|
||||
},
|
||||
{
|
||||
email: 'eri@testplat.com',
|
||||
email: 'eri@example.com.com',
|
||||
password: hashedPassword,
|
||||
username: 'Sato Eri',
|
||||
role: 1,
|
||||
@@ -85,7 +85,7 @@ module.exports = {
|
||||
// Add projects table records
|
||||
await queryInterface.bulkInsert('projects', [
|
||||
{
|
||||
name: 'TestPlat Test',
|
||||
name: 'LandTCMS Test',
|
||||
detail: "Test Plat's Manual test",
|
||||
userId: 1,
|
||||
isPublic: true,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# TestPlat Document
|
||||
# LandTCMS Document
|
||||
|
||||
### Install dependencies
|
||||
|
||||
@@ -18,4 +18,4 @@ The following command builds the pages and then deploys them to GitHub Pages.
|
||||
|
||||
```
|
||||
$ npm run deploy
|
||||
```
|
||||
```
|
||||
|
||||
@@ -6,7 +6,7 @@ sidebar_position: 4
|
||||
|
||||
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.
|
||||
|
||||
Since the JUnit xml format is the de facto standard, we will import via the xml file. TestPlat itself should also be able to report manual test results in Junit XML format.
|
||||
Since the JUnit xml format is the de facto standard, we will import via the xml file. LandTCMS itself should also be able to report manual test results in Junit XML format.
|
||||
|
||||

|
||||
|
||||
@@ -33,4 +33,4 @@ Since the JUnit xml format is the de facto standard, we will import via the xml
|
||||
</testcase>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
```
|
||||
```
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Running TestPlat as a Docker container
|
||||
# Running LandTCMS as a Docker container
|
||||
|
||||
Under development
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Running TestPlat manually
|
||||
# Running LandTCMS manually
|
||||
|
||||
:::info[Prerequisite]
|
||||
|
||||
@@ -10,12 +10,12 @@ Prerequisite: v20 or higher node must be installed.
|
||||
|
||||
:::
|
||||
|
||||
To use TestPlat, you need run frontend server and backend server (API server).
|
||||
To use LandTCMS, you need run frontend server and backend server (API server).
|
||||
|
||||
First, clone the repository.
|
||||
|
||||
```bash
|
||||
git clone git@github.com:kimatata/TestPlat.git
|
||||
git clone git@github.com:kimatata/landtcms.git
|
||||
```
|
||||
|
||||
## Run backend server
|
||||
|
||||
@@ -4,7 +4,7 @@ sidebar_position: 1
|
||||
|
||||
# Self hosting
|
||||
|
||||
TestPlat is designed for self-hosted use. There are two ways to self-host the application: “Manual” and “Docker”.
|
||||
LandTCMS is designed for self-hosted use. There are two ways to self-host the application: “Manual” and “Docker”.
|
||||
|
||||
- Manual
|
||||
- Docker
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# TestPlat
|
||||
# LandTCMS
|
||||
|
||||
Open Source Test Case Management Web Application
|
||||
Open Source Test Case Management Web Application
|
||||
|
||||
@@ -8,7 +8,7 @@ import { themes as prismThemes } from 'prism-react-renderer';
|
||||
|
||||
/** @type {import('@docusaurus/types').Config} */
|
||||
const config = {
|
||||
title: 'TestPlat',
|
||||
title: 'LandTCMS',
|
||||
// tagline: 'Dinosaurs are cool',
|
||||
favicon: 'img/favicon.ico',
|
||||
|
||||
@@ -16,12 +16,12 @@ const config = {
|
||||
url: 'https://kimatata.github.io',
|
||||
// Set the /<baseUrl>/ pathname under which your site is served
|
||||
// For GitHub pages deployment, it is often '/<projectName>/'
|
||||
baseUrl: '/TestPlat/',
|
||||
baseUrl: '/landtcms/',
|
||||
|
||||
// GitHub pages deployment config.
|
||||
// If you aren't using GitHub pages, you don't need these.
|
||||
organizationName: 'kimatata', // Usually your GitHub org/user name.
|
||||
projectName: 'TestPlat', // Usually your repo name.
|
||||
projectName: 'landtcms', // Usually your repo name.
|
||||
|
||||
onBrokenLinks: 'throw',
|
||||
onBrokenMarkdownLinks: 'warn',
|
||||
@@ -58,16 +58,16 @@ const config = {
|
||||
// Replace with your project's social card
|
||||
image: 'img/docusaurus-social-card.jpg',
|
||||
navbar: {
|
||||
title: 'TestPlat',
|
||||
title: 'LandTCMS',
|
||||
logo: {
|
||||
alt: 'TestPlat Logo',
|
||||
alt: 'LandTCMS Logo',
|
||||
src: 'img/android-chrome-192x192.png',
|
||||
},
|
||||
items: [{ to: '/docs', label: 'Docs', position: 'left' }],
|
||||
},
|
||||
footer: {
|
||||
style: 'light',
|
||||
copyright: `Copyright © ${new Date().getFullYear()} TestPlat. Built with Docusaurus.`,
|
||||
copyright: `Copyright © ${new Date().getFullYear()} LandTCMS. Built with Docusaurus.`,
|
||||
},
|
||||
prism: {
|
||||
theme: prismThemes.github,
|
||||
|
||||
@@ -1,53 +1,43 @@
|
||||
import clsx from "clsx";
|
||||
import Heading from "@theme/Heading";
|
||||
import styles from "./styles.module.css";
|
||||
import clsx from 'clsx';
|
||||
import Heading from '@theme/Heading';
|
||||
import styles from './styles.module.css';
|
||||
|
||||
const FeatureList = [
|
||||
{
|
||||
title: "Open Source",
|
||||
Svg: require("@site/static/img/certificate-svgrepo-com.svg").default,
|
||||
title: 'Open Source',
|
||||
Svg: require('@site/static/img/certificate-svgrepo-com.svg').default,
|
||||
description: (
|
||||
<>
|
||||
TestPlat is free and open source. The application can be self-hosted. It
|
||||
can be deployed in environments with strict security requirements.
|
||||
LandTCMS is free and open source. The application can be self-hosted. It can be deployed in environments with
|
||||
strict security requirements.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Organize Test Cases",
|
||||
Svg: require("@site/static/img/chemical-svgrepo-com.svg").default,
|
||||
title: 'Organize Test Cases',
|
||||
Svg: require('@site/static/img/chemical-svgrepo-com.svg').default,
|
||||
description: <>Test cases can be organized by projects and folders. Modern UI framework makes them fast.</>,
|
||||
},
|
||||
{
|
||||
title: 'Usability',
|
||||
Svg: require('@site/static/img/statistics-svgrepo-com.svg').default,
|
||||
description: (
|
||||
<>
|
||||
Test cases can be organized by projects and folders. Modern UI framework
|
||||
makes them fast.
|
||||
The defined test cases can be used over and over again in test runs. The status of test runs and projects can be
|
||||
viewed graphically.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Usability",
|
||||
Svg: require("@site/static/img/statistics-svgrepo-com.svg").default,
|
||||
description: (
|
||||
<>
|
||||
The defined test cases can be used over and over again in test runs. The
|
||||
status of test runs and projects can be viewed graphically.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Universal",
|
||||
Svg: require("@site/static/img/question-and-answer-svgrepo-com.svg").default,
|
||||
description: (
|
||||
<>
|
||||
Multi language support and dark theme allow anyone to use the system
|
||||
without any inconvenience.
|
||||
</>
|
||||
),
|
||||
title: 'Universal',
|
||||
Svg: require('@site/static/img/question-and-answer-svgrepo-com.svg').default,
|
||||
description: <>Multi language support and dark theme allow anyone to use the system without any inconvenience.</>,
|
||||
},
|
||||
];
|
||||
|
||||
function Feature({ Svg, title, description }) {
|
||||
return (
|
||||
<div className={clsx("col col--3")}>
|
||||
<div className={clsx('col col--3')}>
|
||||
<div className="text--center">
|
||||
<Svg className={styles.featureSvg} role="img" />
|
||||
</div>
|
||||
|
||||
@@ -1,26 +1,21 @@
|
||||
import clsx from "clsx";
|
||||
import useDocusaurusContext from "@docusaurus/useDocusaurusContext";
|
||||
import Layout from "@theme/Layout";
|
||||
import HomepageFeatures from "@site/src/components/HomepageFeatures";
|
||||
import clsx from 'clsx';
|
||||
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
||||
import Layout from '@theme/Layout';
|
||||
import HomepageFeatures from '@site/src/components/HomepageFeatures';
|
||||
|
||||
import Heading from "@theme/Heading";
|
||||
import styles from "./index.module.css";
|
||||
import Heading from '@theme/Heading';
|
||||
import styles from './index.module.css';
|
||||
|
||||
export default function Home() {
|
||||
const { siteConfig } = useDocusaurusContext();
|
||||
return (
|
||||
<Layout
|
||||
title={`Hello from ${siteConfig.title}`}
|
||||
description="Description will go into a meta tag in <head />"
|
||||
>
|
||||
<header className={clsx("hero hero--primary", styles.heroBanner)}>
|
||||
<Layout title={`Hello from ${siteConfig.title}`} description="Description will go into a meta tag in <head />">
|
||||
<header className={clsx('hero hero--primary', styles.heroBanner)}>
|
||||
<div className="container">
|
||||
<Heading as="h1" className="hero__title">
|
||||
TestPlat
|
||||
LandTCMS
|
||||
</Heading>
|
||||
<p className="hero__subtitle">
|
||||
Open Source Test Case Management Web Application
|
||||
</p>
|
||||
<p className="hero__subtitle">Open Source Test Case Management Web Application</p>
|
||||
Integrate and manage all your software testing.
|
||||
</div>
|
||||
</header>
|
||||
|
||||
BIN
docs/static/img/android-chrome-192x192.png
vendored
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 17 KiB |
BIN
docs/static/img/favicon.ico
vendored
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -1,4 +1,4 @@
|
||||
# TestPlat Frontend
|
||||
# LandTCMS Frontend
|
||||
|
||||
## Install dependencies
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"web_application": "Web Application",
|
||||
"integrate_and_manage": "Integrate and manage all your software testing.",
|
||||
"oss_title": "Open Source",
|
||||
"oss_detail": "TestPlat is free and open source. The application can be self-hosted. It can be deployed in environments with strict security requirements.",
|
||||
"oss_detail": "LandTCMS is free and open source. The application can be self-hosted. It can be deployed in environments with strict security requirements.",
|
||||
"organize_title": "Organize Test Cases",
|
||||
"organize_detail": "Test cases can be organized by projects and folders. Modern UI framework makes them fast.",
|
||||
"usability_title": "Usability",
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"web_application": "ウェブアプリケーション",
|
||||
"integrate_and_manage": "ソフトウェア開発にかかわるすべてのテストを統合管理",
|
||||
"oss_title": "オープンソース",
|
||||
"oss_detail": "TestPlatは無料でオープンソースです。アプリケーションをセルフホストすることができます。セキュリティ要件の厳しい環境でも導入することができます。",
|
||||
"oss_detail": "LandTCMSは無料でオープンソースです。アプリケーションをセルフホストすることができます。セキュリティ要件の厳しい環境でも導入することができます。",
|
||||
"organize_title": "テストケースの整理",
|
||||
"organize_detail": "プロジェクトやフォルダーでテストケースを整理できます。モダンなUIフレームワークによりそれらを高速に表示します。",
|
||||
"usability_title": "ユーザビリティ",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
This favicon was generated using the following graphics from Twitter Twemoji:
|
||||
|
||||
- Graphics Title: 2697.svg
|
||||
- Graphics Title: 1f3dd.svg
|
||||
- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji)
|
||||
- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/2697.svg
|
||||
- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f3dd.svg
|
||||
- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 699 B After Width: | Height: | Size: 747 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
@@ -48,7 +48,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
|
||||
},
|
||||
{
|
||||
uid: 'docs',
|
||||
href: 'https://kimatata.github.io/TestPlat/docs/getstarted/selfhost',
|
||||
href: 'https://kimatata.github.io/landtcms/docs/getstarted/selfhost',
|
||||
label: messages.docs,
|
||||
isExternal: true,
|
||||
},
|
||||
@@ -60,7 +60,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
|
||||
<NavbarBrand as="li" className="gap-3 max-w-fit">
|
||||
<Link className="flex justify-start items-center gap-1" href="/" locale={locale}>
|
||||
<Image src="/favicon/android-chrome-192x192.png" width={32} height={32} alt="Logo" />
|
||||
<p className="font-bold text-inherit">TestPlat</p>
|
||||
<p className="font-bold text-inherit">LandTCMS</p>
|
||||
</Link>
|
||||
</NavbarBrand>
|
||||
<NavbarItem className="hidden md:block">
|
||||
@@ -75,7 +75,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
|
||||
<NavbarItem key={link.uid} className="hidden md:block">
|
||||
<NextUiLink
|
||||
isExternal
|
||||
href="https://kimatata.github.io/TestPlat/docs/getstarted/selfhost"
|
||||
href="https://kimatata.github.io/landtcms/docs/getstarted/selfhost"
|
||||
aria-label="docs"
|
||||
showAnchorIcon
|
||||
anchorIcon={<MoveUpRight size={12} className="ms-1" />}
|
||||
@@ -109,7 +109,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
|
||||
</NavbarContent>
|
||||
|
||||
<NavbarContent className="basis-1 pl-4" justify="end">
|
||||
<NextUiLink isExternal href="https://github.com/kimatata/TestPlat" aria-label="Github">
|
||||
<NextUiLink isExternal href="https://github.com/kimatata/landtcms" aria-label="Github">
|
||||
<GithubIcon className="text-default-500" />
|
||||
</NextUiLink>
|
||||
<ThemeSwitch />
|
||||
|
||||
@@ -19,7 +19,7 @@ export default function MainTitle({ locale }: Props) {
|
||||
class: 'lg:text-7xl md:text-7xl sm:text-7xl text-7xl',
|
||||
})}
|
||||
>
|
||||
TestPlat
|
||||
LandTCMS
|
||||
</h1>
|
||||
<br />
|
||||
<br />
|
||||
@@ -41,7 +41,7 @@ export default function MainTitle({ locale }: Props) {
|
||||
</Button>
|
||||
</Link>
|
||||
|
||||
<NextUiLink isExternal href="https://kimatata.github.io/TestPlat/docs/getstarted/selfhost" aria-label="docs">
|
||||
<NextUiLink isExternal href="https://kimatata.github.io/landtcms/docs/getstarted/selfhost" aria-label="docs">
|
||||
<Button
|
||||
color="primary"
|
||||
variant="bordered"
|
||||
@@ -53,7 +53,7 @@ export default function MainTitle({ locale }: Props) {
|
||||
</Button>
|
||||
</NextUiLink>
|
||||
|
||||
<NextUiLink size="sm" isExternal href="https://github.com/kimatata/TestPlat" aria-label="Github">
|
||||
<NextUiLink size="sm" isExternal href="https://github.com/kimatata/landtcms" aria-label="Github">
|
||||
<Button
|
||||
color="primary"
|
||||
variant="bordered"
|
||||
|
||||
@@ -36,7 +36,7 @@ export default function Home(params: { locale: string }) {
|
||||
marginLeft: '2.5rem',
|
||||
}}
|
||||
>
|
||||
⚗️
|
||||
🏝
|
||||
</span>
|
||||
<div
|
||||
style={{
|
||||
@@ -69,7 +69,7 @@ export default function Home(params: { locale: string }) {
|
||||
<Divider className="my-12" />
|
||||
<div className="w-full text-center py-2">
|
||||
<div>Released under the MIT License.</div>
|
||||
<div>Copyright © 2024 TestPlat</div>
|
||||
<div>Copyright © 2024 LandTCMS</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
fetchMyRoles,
|
||||
} from './token';
|
||||
import { ToastContext } from './ToastProvider';
|
||||
const LOCAL_STORAGE_KEY = 'testplat-auth-token';
|
||||
const LOCAL_STORAGE_KEY = 'landtcms-auth-token';
|
||||
|
||||
function storeTokenToLocalStorage(token: TokenType) {
|
||||
localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(token));
|
||||
|
||||
4
package-lock.json
generated
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "testplat",
|
||||
"name": "LandTCMS",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "testplat",
|
||||
"name": "LandTCMS",
|
||||
"version": "1.0.0",
|
||||
"devDependencies": {
|
||||
"@vitest/coverage-v8": "^1.6.0",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "testplat",
|
||||
"name": "LandTCMS",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||