Skip to content

Commit

Permalink
Merge pull request #107 from sustech-cs304/doc-sprint2
Browse files Browse the repository at this point in the history
Update sprint2 doc
  • Loading branch information
vollate authored Jun 5, 2024
2 parents c5156cc + 625608c commit c269c24
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 28 deletions.
27 changes: 4 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@

- [API文档](https://sustech-cs304.github.io/team-project-24spring-0/moras/)
- [用户手册](https://rosswasd.github.io/team-project-24spring-0/)
- [Project Proposal](https://github.com/sustech-cs304/team-project-24spring-0/blob/main/reports/Team%20Project%20-%20Proposal.md)
- [Sprint 1](https://github.com/sustech-cs304/team-project-24spring-0/blob/main/reports/sprint1/design-team0.md)
- [Sprint 2](https://github.com/sustech-cs304/team-project-24spring-0/blob/main/reports/sprint2/final-report-team0.md)
- [Project Proposal](./reports/proposal/Team%20Project%20-%20Proposal.md)
- [Sprint 1](./reports/sprint1/design-team0.md)
- [Sprint 2](./reports/sprint2/final-report-team0.md)

## Project Overview

Our goal is to **provide a convenient and user-friendly IDE** for **students learning computer organization**. Our target users are those who are studying this subject, and we have developed a range of features to enhance their coding experience.

To achieve our goal of providing a convenient and user-friendly IDE for students learning computer organization, our IDE incorporates various functionalities. We **leverage AI's API** to enhance the capabilities of our system, offering advanced features and intelligent assistance. Additionally, our IDE supports **multi-user simultaneous editing**, encouraging collaboration and teamwork among students. It also provides **code completion, highlighting, and error tips** to assist students in writing code efficiently and accurately. For debugging purposes, **robust debug support** is available, enabling students to analyze variables and resolve issues or bugs. The **"dump" functionality** allows students to inspect memory and register values, enhancing their understanding of program execution. **Built-in documentation** offers quick access to relevant information and resources, while the **"replace same name label"** feature helps students manage and organize their code effectively. Overall, our IDE aims to create a comfortable and enriching coding experience for students studying computer organization.
To achieve our goal of providing a convenient and user-friendly IDE for students learning computer organization, our IDE incorporates various functionalities. We **leverage AI's API** to enhance the capabilities of our system, offering advanced features and intelligent assistance. Additionally, our IDE supports **multi-user simultaneous editing**, encouraging collaboration and teamwork among students. It also provides **code completion, highlighting, and error tips** to assist students in writing code efficiently and accurately. For debugging purposes, **robust debug support** is available, enabling students to analyze variables and resolve issues or bugs. The **"dump" functionality** allows students to inspect memory and register values, enhancing their understanding of program execution. **Built-in documentation** offers quick access to relevant information and resources. Overall, our IDE aims to create a comfortable and enriching coding experience for students studying computer organization.

Overall, our overall goal is to **create an IDE that simplifies the learning process for students studying computer organization**. By providing a user-friendly interface and a range of powerful features, we strive to offer students a comfortable and enriching coding experience.

Expand Down Expand Up @@ -56,10 +56,6 @@ As a embedded developer, I want to be able to dump my code into the real microco

As a beginner in assembly language, I want to be able to view documentation directly within the editor, so that I can access the necessary knowledge without having to open a browser and disrupt my workflow.

#### Replace Same Name Label

As a picky coder, I want to do lable rename like IDE's symbol rename. So that I can reduce errors caused by misstake and improve my coding experience.

### Non-functional Requirements

#### Usability
Expand All @@ -85,18 +81,3 @@ We need **assembly language documents** and **AI API keys** in this project. To
#### Technical Requirements

We will use **Tauri** to develop our application. The operating environment is desktop OS such as Windows, MacOS, and Linux. Tauri is a **multi-platform** desktop application framework with **Rust** as backend and **Javascript** as frontend.

## 开发规范

- 在各个分支开发,完成后在 github 提交 pull request,审核后合并到 main 分支
- 分支命名规则:
- feat-xxx(新功能)
- fix-xxx(修复 bug)
- refactor-xxx(重构)
- doc-xxx(文档)
- commit message 规范:使用[约定式提交](https://www.conventionalcommits.org/zh-hans/v1.0.0/)
- rust 代码提交时需要进行格式化,否则无法通过 CI,可以使用 "cargo fmt" 一键格式化

## 开启多个实例

注意!因为distDir不能重复,之前多开会有NextJS加载不上的问题,现在每次开启Moras都会在src-ui下生成一个数字的文件夹作为distDir,记得及时清理。
4 changes: 2 additions & 2 deletions reports/sprint2/final-report-team0.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ By maintaining thorough and up-to-date documentation for both end users and deve

## 3. Tests

Since we use Rust as our main language, we can easily write tests in our code with the `#[test]` attribute. We have written 29 unit tests in total, covering major functions of the backend logic. However, since our backend and frontend are separated, writing tests for frontend logic is challenging, so the part that communicates with the frontend is not tested.
Since we use Rust as our main language, we can easily write tests in our code with the `#[test]` attribute. We have written 29 unit tests in total, covering major functions of the backend logic. However, since our backend and frontend are separated, writing tests for frontend logic is challenging, so the part that communicates with the frontend is tested manually by running the application.

We generate our test report with the command `cargo tarpaulin --out html`. (need to install `cargo-tarpaulin` first.) This command generates the coverage report. We also use GitHub CI to run tests, generate the coverage report, and deploy the test result to our GitHub Pages automatically. [Check the report here](https://sustech-cs304.github.io/team-project-24spring-0/report#src). We achieved a 63.85% coverage rate for our backend code.
We generate our test report with the command `cargo tarpaulin --out html`. (need to install `cargo-tarpaulin` first.) This command generates the coverage report. We also use GitHub CI to run tests, generate the coverage report, and deploy the test result to our GitHub Pages automatically. [Check the report here](https://sustech-cs304.github.io/team-project-24spring-0/report#src). We achieved a 63.85% coverage rate for our backend code, since the rest of the code must interact with the frontend, which is hard to test automatically.

## 4. Build

Expand Down
2 changes: 1 addition & 1 deletion src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "moras"
version = "1.0.0"
version = "1.0.1"
description = "A Tauri App"
authors = ["you"]
license = "GPL-3"
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
},
"package": {
"productName": "Moras",
"version": "1.0.0"
"version": "1.0.1"
},
"tauri": {
"allowlist": {
Expand Down

0 comments on commit c269c24

Please sign in to comment.