Change name

This commit is contained in:
Takeshi Kimata
2024-06-02 14:35:34 +09:00
parent d54b2a5950
commit 755379ae0f
29 changed files with 76 additions and 91 deletions

View File

@@ -1,4 +1,4 @@
# TestPlat Backend # LandTCMS Backend
## Install dependencies ## Install dependencies

View File

@@ -9,7 +9,7 @@ module.exports = {
// Add projects table records // Add projects table records
await queryInterface.bulkInsert('users', [ await queryInterface.bulkInsert('users', [
{ {
email: 'admin@testplat.com', email: 'admin@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Admin', username: 'Admin',
role: 0, role: 0,
@@ -18,7 +18,7 @@ module.exports = {
updatedAt: new Date(), updatedAt: new Date(),
}, },
{ {
email: 'samuel@testplat.com', email: 'samuel@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Samuel Golden', username: 'Samuel Golden',
role: 1, role: 1,
@@ -27,7 +27,7 @@ module.exports = {
updatedAt: new Date(), updatedAt: new Date(),
}, },
{ {
email: 'trey@testplat.com', email: 'trey@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Trey Fisher', username: 'Trey Fisher',
role: 1, role: 1,
@@ -36,7 +36,7 @@ module.exports = {
updatedAt: new Date(), updatedAt: new Date(),
}, },
{ {
email: 'zoe@testplat.com', email: 'zoe@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Zoe Woodward', username: 'Zoe Woodward',
role: 1, role: 1,
@@ -45,7 +45,7 @@ module.exports = {
updatedAt: new Date(), updatedAt: new Date(),
}, },
{ {
email: 'roger@testplat.com', email: 'roger@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Roger Hess', username: 'Roger Hess',
role: 1, role: 1,
@@ -54,7 +54,7 @@ module.exports = {
updatedAt: new Date(), updatedAt: new Date(),
}, },
{ {
email: 'jasmine@testplat.com', email: 'jasmine@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Jasmine Moody', username: 'Jasmine Moody',
role: 1, role: 1,
@@ -63,7 +63,7 @@ module.exports = {
updatedAt: new Date(), updatedAt: new Date(),
}, },
{ {
email: 'tatsuya@testplat.com', email: 'tatsuya@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Suzuki Tatsuya', username: 'Suzuki Tatsuya',
role: 1, role: 1,
@@ -72,7 +72,7 @@ module.exports = {
updatedAt: new Date(), updatedAt: new Date(),
}, },
{ {
email: 'eri@testplat.com', email: 'eri@example.com.com',
password: hashedPassword, password: hashedPassword,
username: 'Sato Eri', username: 'Sato Eri',
role: 1, role: 1,
@@ -85,7 +85,7 @@ module.exports = {
// Add projects table records // Add projects table records
await queryInterface.bulkInsert('projects', [ await queryInterface.bulkInsert('projects', [
{ {
name: 'TestPlat Test', name: 'LandTCMS Test',
detail: "Test Plat's Manual test", detail: "Test Plat's Manual test",
userId: 1, userId: 1,
isPublic: true, isPublic: true,

View File

@@ -1,4 +1,4 @@
# TestPlat Document # LandTCMS Document
### Install dependencies ### Install dependencies

View File

@@ -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. 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.
![integration](./img/integration.png) ![integration](./img/integration.png)

View File

@@ -2,6 +2,6 @@
sidebar_position: 3 sidebar_position: 3
--- ---
# Running TestPlat as a Docker container # Running LandTCMS as a Docker container
Under development Under development

View File

@@ -2,7 +2,7 @@
sidebar_position: 2 sidebar_position: 2
--- ---
# Running TestPlat manually # Running LandTCMS manually
:::info[Prerequisite] :::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. First, clone the repository.
```bash ```bash
git clone git@github.com:kimatata/TestPlat.git git clone git@github.com:kimatata/landtcms.git
``` ```
## Run backend server ## Run backend server

View File

@@ -4,7 +4,7 @@ sidebar_position: 1
# Self hosting # 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 - Manual
- Docker - Docker

View File

@@ -2,6 +2,6 @@
sidebar_position: 1 sidebar_position: 1
--- ---
# TestPlat # LandTCMS
Open Source Test Case Management Web Application Open Source Test Case Management Web Application

View File

@@ -8,7 +8,7 @@ import { themes as prismThemes } from 'prism-react-renderer';
/** @type {import('@docusaurus/types').Config} */ /** @type {import('@docusaurus/types').Config} */
const config = { const config = {
title: 'TestPlat', title: 'LandTCMS',
// tagline: 'Dinosaurs are cool', // tagline: 'Dinosaurs are cool',
favicon: 'img/favicon.ico', favicon: 'img/favicon.ico',
@@ -16,12 +16,12 @@ const config = {
url: 'https://kimatata.github.io', url: 'https://kimatata.github.io',
// Set the /<baseUrl>/ pathname under which your site is served // Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/' // For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: '/TestPlat/', baseUrl: '/landtcms/',
// GitHub pages deployment config. // GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these. // If you aren't using GitHub pages, you don't need these.
organizationName: 'kimatata', // Usually your GitHub org/user name. organizationName: 'kimatata', // Usually your GitHub org/user name.
projectName: 'TestPlat', // Usually your repo name. projectName: 'landtcms', // Usually your repo name.
onBrokenLinks: 'throw', onBrokenLinks: 'throw',
onBrokenMarkdownLinks: 'warn', onBrokenMarkdownLinks: 'warn',
@@ -58,16 +58,16 @@ const config = {
// Replace with your project's social card // Replace with your project's social card
image: 'img/docusaurus-social-card.jpg', image: 'img/docusaurus-social-card.jpg',
navbar: { navbar: {
title: 'TestPlat', title: 'LandTCMS',
logo: { logo: {
alt: 'TestPlat Logo', alt: 'LandTCMS Logo',
src: 'img/android-chrome-192x192.png', src: 'img/android-chrome-192x192.png',
}, },
items: [{ to: '/docs', label: 'Docs', position: 'left' }], items: [{ to: '/docs', label: 'Docs', position: 'left' }],
}, },
footer: { footer: {
style: 'light', style: 'light',
copyright: `Copyright © ${new Date().getFullYear()} TestPlat. Built with Docusaurus.`, copyright: `Copyright © ${new Date().getFullYear()} LandTCMS. Built with Docusaurus.`,
}, },
prism: { prism: {
theme: prismThemes.github, theme: prismThemes.github,

View File

@@ -1,53 +1,43 @@
import clsx from "clsx"; import clsx from 'clsx';
import Heading from "@theme/Heading"; import Heading from '@theme/Heading';
import styles from "./styles.module.css"; import styles from './styles.module.css';
const FeatureList = [ const FeatureList = [
{ {
title: "Open Source", title: 'Open Source',
Svg: require("@site/static/img/certificate-svgrepo-com.svg").default, Svg: require('@site/static/img/certificate-svgrepo-com.svg').default,
description: ( description: (
<> <>
TestPlat is free and open source. The application can be self-hosted. It LandTCMS is free and open source. The application can be self-hosted. It can be deployed in environments with
can be deployed in environments with strict security requirements. strict security requirements.
</> </>
), ),
}, },
{ {
title: "Organize Test Cases", title: 'Organize Test Cases',
Svg: require("@site/static/img/chemical-svgrepo-com.svg").default, 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: ( description: (
<> <>
Test cases can be organized by projects and folders. Modern UI framework The defined test cases can be used over and over again in test runs. The status of test runs and projects can be
makes them fast. viewed graphically.
</> </>
), ),
}, },
{ {
title: "Usability", title: 'Universal',
Svg: require("@site/static/img/statistics-svgrepo-com.svg").default, Svg: require('@site/static/img/question-and-answer-svgrepo-com.svg').default,
description: ( description: <>Multi language support and dark theme allow anyone to use the system without any inconvenience.</>,
<>
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.
</>
),
}, },
]; ];
function Feature({ Svg, title, description }) { function Feature({ Svg, title, description }) {
return ( return (
<div className={clsx("col col--3")}> <div className={clsx('col col--3')}>
<div className="text--center"> <div className="text--center">
<Svg className={styles.featureSvg} role="img" /> <Svg className={styles.featureSvg} role="img" />
</div> </div>

View File

@@ -1,26 +1,21 @@
import clsx from "clsx"; import clsx from 'clsx';
import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from "@theme/Layout"; import Layout from '@theme/Layout';
import HomepageFeatures from "@site/src/components/HomepageFeatures"; import HomepageFeatures from '@site/src/components/HomepageFeatures';
import Heading from "@theme/Heading"; import Heading from '@theme/Heading';
import styles from "./index.module.css"; import styles from './index.module.css';
export default function Home() { export default function Home() {
const { siteConfig } = useDocusaurusContext(); const { siteConfig } = useDocusaurusContext();
return ( return (
<Layout <Layout title={`Hello from ${siteConfig.title}`} description="Description will go into a meta tag in <head />">
title={`Hello from ${siteConfig.title}`} <header className={clsx('hero hero--primary', styles.heroBanner)}>
description="Description will go into a meta tag in <head />"
>
<header className={clsx("hero hero--primary", styles.heroBanner)}>
<div className="container"> <div className="container">
<Heading as="h1" className="hero__title"> <Heading as="h1" className="hero__title">
TestPlat LandTCMS
</Heading> </Heading>
<p className="hero__subtitle"> <p className="hero__subtitle">Open Source Test Case Management Web Application</p>
Open Source Test Case Management Web Application
</p>
Integrate and manage all your software testing. Integrate and manage all your software testing.
</div> </div>
</header> </header>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,4 +1,4 @@
# TestPlat Frontend # LandTCMS Frontend
## Install dependencies ## Install dependencies

View File

@@ -6,7 +6,7 @@
"web_application": "Web Application", "web_application": "Web Application",
"integrate_and_manage": "Integrate and manage all your software testing.", "integrate_and_manage": "Integrate and manage all your software testing.",
"oss_title": "Open Source", "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_title": "Organize Test Cases",
"organize_detail": "Test cases can be organized by projects and folders. Modern UI framework makes them fast.", "organize_detail": "Test cases can be organized by projects and folders. Modern UI framework makes them fast.",
"usability_title": "Usability", "usability_title": "Usability",

View File

@@ -6,7 +6,7 @@
"web_application": "ウェブアプリケーション", "web_application": "ウェブアプリケーション",
"integrate_and_manage": "ソフトウェア開発にかかわるすべてのテストを統合管理", "integrate_and_manage": "ソフトウェア開発にかかわるすべてのテストを統合管理",
"oss_title": "オープンソース", "oss_title": "オープンソース",
"oss_detail": "TestPlatは無料でオープンソースです。アプリケーションをセルフホストすることができます。セキュリティ要件の厳しい環境でも導入することができます。", "oss_detail": "LandTCMSは無料でオープンソースです。アプリケーションをセルフホストすることができます。セキュリティ要件の厳しい環境でも導入することができます。",
"organize_title": "テストケースの整理", "organize_title": "テストケースの整理",
"organize_detail": "プロジェクトやフォルダーでテストケースを整理できます。モダンなUIフレームワークによりそれらを高速に表示します。", "organize_detail": "プロジェクトやフォルダーでテストケースを整理できます。モダンなUIフレームワークによりそれらを高速に表示します。",
"usability_title": "ユーザビリティ", "usability_title": "ユーザビリティ",

View File

@@ -1,6 +1,6 @@
This favicon was generated using the following graphics from Twitter Twemoji: 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 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/) - Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -48,7 +48,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
}, },
{ {
uid: 'docs', uid: 'docs',
href: 'https://kimatata.github.io/TestPlat/docs/getstarted/selfhost', href: 'https://kimatata.github.io/landtcms/docs/getstarted/selfhost',
label: messages.docs, label: messages.docs,
isExternal: true, isExternal: true,
}, },
@@ -60,7 +60,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
<NavbarBrand as="li" className="gap-3 max-w-fit"> <NavbarBrand as="li" className="gap-3 max-w-fit">
<Link className="flex justify-start items-center gap-1" href="/" locale={locale}> <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" /> <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> </Link>
</NavbarBrand> </NavbarBrand>
<NavbarItem className="hidden md:block"> <NavbarItem className="hidden md:block">
@@ -75,7 +75,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
<NavbarItem key={link.uid} className="hidden md:block"> <NavbarItem key={link.uid} className="hidden md:block">
<NextUiLink <NextUiLink
isExternal isExternal
href="https://kimatata.github.io/TestPlat/docs/getstarted/selfhost" href="https://kimatata.github.io/landtcms/docs/getstarted/selfhost"
aria-label="docs" aria-label="docs"
showAnchorIcon showAnchorIcon
anchorIcon={<MoveUpRight size={12} className="ms-1" />} anchorIcon={<MoveUpRight size={12} className="ms-1" />}
@@ -109,7 +109,7 @@ export default function HeaderNavbarMenu({ messages, locale }: Props) {
</NavbarContent> </NavbarContent>
<NavbarContent className="basis-1 pl-4" justify="end"> <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" /> <GithubIcon className="text-default-500" />
</NextUiLink> </NextUiLink>
<ThemeSwitch /> <ThemeSwitch />

View File

@@ -19,7 +19,7 @@ export default function MainTitle({ locale }: Props) {
class: 'lg:text-7xl md:text-7xl sm:text-7xl text-7xl', class: 'lg:text-7xl md:text-7xl sm:text-7xl text-7xl',
})} })}
> >
TestPlat LandTCMS
</h1> </h1>
<br /> <br />
<br /> <br />
@@ -41,7 +41,7 @@ export default function MainTitle({ locale }: Props) {
</Button> </Button>
</Link> </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 <Button
color="primary" color="primary"
variant="bordered" variant="bordered"
@@ -53,7 +53,7 @@ export default function MainTitle({ locale }: Props) {
</Button> </Button>
</NextUiLink> </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 <Button
color="primary" color="primary"
variant="bordered" variant="bordered"

View File

@@ -36,7 +36,7 @@ export default function Home(params: { locale: string }) {
marginLeft: '2.5rem', marginLeft: '2.5rem',
}} }}
> >
🏝
</span> </span>
<div <div
style={{ style={{
@@ -69,7 +69,7 @@ export default function Home(params: { locale: string }) {
<Divider className="my-12" /> <Divider className="my-12" />
<div className="w-full text-center py-2"> <div className="w-full text-center py-2">
<div>Released under the MIT License.</div> <div>Released under the MIT License.</div>
<div>Copyright © 2024 TestPlat</div> <div>Copyright © 2024 LandTCMS</div>
</div> </div>
</section> </section>
); );

View File

@@ -11,7 +11,7 @@ import {
fetchMyRoles, fetchMyRoles,
} from './token'; } from './token';
import { ToastContext } from './ToastProvider'; import { ToastContext } from './ToastProvider';
const LOCAL_STORAGE_KEY = 'testplat-auth-token'; const LOCAL_STORAGE_KEY = 'landtcms-auth-token';
function storeTokenToLocalStorage(token: TokenType) { function storeTokenToLocalStorage(token: TokenType) {
localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(token)); localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(token));

4
package-lock.json generated
View File

@@ -1,11 +1,11 @@
{ {
"name": "testplat", "name": "LandTCMS",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "testplat", "name": "LandTCMS",
"version": "1.0.0", "version": "1.0.0",
"devDependencies": { "devDependencies": {
"@vitest/coverage-v8": "^1.6.0", "@vitest/coverage-v8": "^1.6.0",

View File

@@ -1,5 +1,5 @@
{ {
"name": "testplat", "name": "LandTCMS",
"version": "1.0.0", "version": "1.0.0",
"private": true, "private": true,
"scripts": { "scripts": {