-
-
Notifications
You must be signed in to change notification settings - Fork 118
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
refactor(vd): add strategy pattern to virtual desktops
- Loading branch information
Showing
111 changed files
with
3,448 additions
and
2,241 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,44 @@ | ||
# Welcome to the Seelen UI Project | ||
|
||
Welcome to the Seelen UI project! This guide will help you get started with the codebase and understand its structure. | ||
|
||
## Languages Used | ||
This project utilizes the following languages: | ||
- **Rust** | ||
- **TypeScript** | ||
- **PowerShell** (in special cases) | ||
|
||
## Getting Started | ||
To run this project, follow these steps: | ||
|
||
1. [Install Rust](https://www.rust-lang.org/tools/install). | ||
2. Run the following commands: | ||
|
||
```bash | ||
npm install && npm run dev | ||
``` | ||
|
||
This will set up the project similarly to any other Node.js project, with the added step of installing Rust first. | ||
|
||
## Architecture | ||
|
||
### Views Architecture | ||
|
||
The `src\apps` folder contains views that follow Hexagonal Architecture. Each folder in `src\apps` represents a view (excluding shared). These views are independent web pages bundled with `esbuild`. While any technology or library can be used in a view, most are based on `React` and `Redux`. | ||
|
||
#### Shared Folder | ||
Following Hexagonal Architecture, the `shared` folder contains utilities, schemas, and other shared resources used across multiple views. | ||
|
||
### Background Architecture | ||
|
||
The `src\background` folder does not follow a specific architecture but is based on Events Architecture. | ||
# Welcome to the Seelen UI Project | ||
|
||
Welcome to the Seelen UI project! This guide will help you get started with the codebase and understand its structure. | ||
|
||
## Languages Used | ||
This project utilizes the following languages: | ||
- **Rust** | ||
- **TypeScript** | ||
- **PowerShell** (in special cases) | ||
|
||
## Getting Started | ||
To run this project, follow these steps: | ||
|
||
1. [Install Rust](https://www.rust-lang.org/tools/install). | ||
2. Run the following commands: | ||
|
||
```bash | ||
npm install && npm run dev | ||
``` | ||
|
||
This will set up the project similarly to any other Node.js project, with the added step of installing Rust first. | ||
|
||
## Architecture | ||
|
||
### Views Architecture | ||
|
||
The `src\apps` folder contains views that follow Hexagonal Architecture. Each folder in `src\apps` represents a view (excluding shared). These views are independent web pages bundled with `esbuild`. While any technology or library can be used in a view, most are based on `React` and `Redux`. | ||
|
||
#### Shared Folder | ||
Following Hexagonal Architecture, the `shared` folder contains utilities, schemas, and other shared resources used across multiple views. | ||
|
||
### Background Architecture | ||
|
||
The `src\background` folder does not follow a specific architecture but is based on Events Architecture. | ||
|
||
### Hierarchical Locking Order | ||
|
||
To prevent deadlocks in the application, all threads must follow the "Hierarchical Locking Order" when acquiring resources: | ||
|
||
1. **CLI**: Acquire any locks related to the command-line interface first. | ||
2. **DATA**: Next, acquire locks related to data access or shared data structures. | ||
3. **EVENT**: Finally, acquire locks related to hook or event management. | ||
|
||
This order must be respected in all threads to avoid circular wait conditions and ensure safe concurrency. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.