8000 GitHub - Normal-OJ/new-front-end: v2 client for Normal Online Judge
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Normal-OJ/new-front-end

Folders and files

< C2C2 tr class="react-directory-row truncate-for-mobile" id="folder-row-22">
NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NOJ second frontend (v2.noj.tw)

Coverage Badge

Development

To run the entire project, including the new-front-end, refer to the README.md file in the main Normal-OJ repository. However, if you only wanna build the new-front-end independently or run end-to-end tests, proceed with the instructions below.

Setup

Issues and PRs are welcome, please read the contribution guide to prepare a proper development environment.

Clone the repo, then install the dependencies by pnpm:

cd new-front-end
pnpm install

To start up the dev server, run:

pnpm dev

File Structure

The project follows a file-based routing system. Pages in the src/pages folder map directly to URLs on the website. For example, src/pages/about.vue corresponds to /about, src/announcements/[id].vue corresponds to /announcements/:id, and src/courses/index.vue corresponds to /courses.

  • src/pages/: Contains all page components. Each file or folder here maps to a route. For large pages, split layouts into manageable components and place them in src/components.
  • src/components/: For aforementioned components used in pages, and reusable components.
  • src/composables/: Reusable logic that can be shared across components.
  • src/models/: API interaction logic to communicate with the Back-End.
  • src/constants.ts: Constants for the project.
  • src/stores/: State management for states used across multiple pages.
  • src/utils/: Utility functions.
  • src/i18n/: For every string, try to provide both English and zh-TW with i18n config.
  • src/types/: TypeScript type definitions.

Testing

We currently have end-to-end testing under ./tests with Playwright.

Basic Usage

To run the end-to-end tests:

pnpm exec playwright test

or if you prefer interactive UI, you can run:

pnpm exec playwright test --ui`

In the process, it may prompt you to install the browsers:

pnpm exec playwright install --with-deps

Finally, it will show the report, or you can run this if not:

pnpm exec playwright show-report

You may wanna try this command to auto-generate tests with Codegen.

pnpm exec playwright codegen

Visit https://playwright.dev/docs/intro for more information. ✨

About

v2 client for Normal Online Judge

Topics

Resources

License

Stars

Watchers

Forks

Contributors 8

Languages

0