Skip to content

Commit 23215c2

Browse files
Bit changes
1 parent db53613 commit 23215c2

File tree

6 files changed

+321
-20
lines changed

6 files changed

+321
-20
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ Cargo.lock
88

99
# These are backup files generated by rustfmt
1010
**/*.rs.bk
11+
/refs

CHANGELOG.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Changelog
2+
3+
## Package vX.X.X (YYYY-MM-DD)
4+
5+
### Improved
6+
7+
- A here your changes
8+
9+
### Added
10+
11+
- A here your changes
12+
13+
### Fixed
14+
15+
- A here your changes
16+
17+
### Improvement
18+
19+
- A here your changes
20+
21+
### Removed
22+
23+
- A here your changes
24+

CONTRIBUTING.md

+184-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,186 @@
1-
# Contributing to Angular Rust
1+
## Contributing to Angular Rust
22

3-
Want to contribute to Angular Rust? There are a few things you need to know.
3+
This describes how developers may contribute to Angular Rust.
44

5-
We wrote a **[contribution guide](https://angular-rust.github.io/contributing/how-to-contribute.html)** to help you get started.
5+
## Mission
6+
7+
Angular Rust's mission is to provide a batteries-included framework for making large scale web and desktop application development as efficient and maintainable as possible.
8+
9+
The design should be configurable and modular so that it can grow with the developer. However, it should provide a wonderful un-boxing experience and default configuration that can woo new developers and make simple web and desktop apps straight forward. The framework should have an opinion about how to do all of the common tasks in web and desktop development to reduce unnecessary cognitive load.
10+
11+
Perhaps most important of all, Angular Rust should be a joy to use. We want to reduce the time spent on tedious boilerplate functionality and increase the time
12+
available for creating polished solutions for your application's target users.
13+
14+
## How to Contribute
15+
16+
### Join the Community
17+
18+
The first step to improving Angular Rust is to join the community and help grow it! You can find the community on:
19+
20+
[![](https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=white)](https://www.facebook.com/groups/angular.rust)
21+
[![](https://img.shields.io/badge/Stack_Overflow-FE7A16?style=for-the-badge&logo=stack-overflow&logoColor=white)](https://stackoverflow.com/questions/tagged/angular-rust)
22+
[![](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/channel/UCBJTkSl_JWShuolUy4JksTQ)
23+
[![](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://medium.com/@angular.rust)
24+
[![](https://img.shields.io/gitter/room/angular_rust/angular_rust?style=for-the-badge)](https://gitter.im/angular_rust/community)
25+
26+
We believe the wider community can create better code. The first tool for improving the community is to tell the developers about the project by giving it a star. More stars - more members.
27+
28+
![Star a repo](https://dudochkin-victor.github.io/assets/star-me-wide.svg)
29+
30+
Once you've joined, there are many ways to contribute to Angular Rust:
31+
32+
* Report bugs (via GitHub)
33+
* Answer questions of other community members (via Gitter or GitHub Discussions)
34+
* Give feedback on new feature discussions (via GitHub and Gitter)
35+
* Propose your own ideas (via Gitter or GitHub)
36+
37+
### How Angular Rust is Developed
38+
39+
We have begun to formalize the development process by adopting pragmatic practices such as:
40+
41+
* Developing on the `develop` branch
42+
* Merging `develop` branch to `main` branch in 6 week iterations
43+
* Tagging releases with MAJOR.MINOR syntax (e.g. v0.8)
44+
** We may also tag MAJOR.MINOR.HOTFIX releases as needed (e.g. v0.8.1) to address urgent bugs. Such releases will not introduce or change functionality
45+
* Managing bugs, enhancements, features and release milestones via GitHub's Issue Tracker
46+
* Using feature branches to create pull requests
47+
* Discussing new features **before** hacking away at it
48+
49+
50+
## Dive into code
51+
52+
### Fork this repository
53+
54+
<img align="right" width="360" src="https://dudochkin-victor.github.io/assets/github/fork.png" alt="fork this repository" style="margin-left: 5px;"/>
55+
56+
Fork this repository by clicking on the fork button on the top of this page.
57+
This will create a copy of this repository in your account.
58+
59+
<br clear="both" />
60+
61+
### Clone the repository
62+
63+
<img align="right" width="360" src="https://dudochkin-victor.github.io/assets/github/clone.png" alt="clone this repository" style="margin-left: 5px;"/>
64+
65+
Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the _copy to clipboard_ icon.
66+
67+
Open a terminal and run the following git command:
68+
69+
```
70+
git clone "url you just copied"
71+
```
72+
73+
where "url you just copied" (without the quotation marks) is the url to this repository (your fork of this project). See the previous steps to obtain the url.
74+
75+
> use SSH tab to copy proper URL
76+
77+
<img align="right" width="360" src="https://dudochkin-victor.github.io/assets/github/copy-to-clipboard.png" alt="copy URL to clipboard" style="margin-left: 5px;"/>
78+
79+
For example:
80+
81+
```
82+
git clone [email protected]:$USER/ruex.git
83+
```
84+
85+
where `$USER` is your GitHub username. Here you're copying the contents of the `ruex` repository on GitHub to your computer.
86+
87+
88+
<br clear="both" />
89+
90+
### Create a branch
91+
92+
Change to the repository directory on your computer (if you are not already there):
93+
94+
```
95+
cd ruex
96+
```
97+
98+
Now create a branch using the `git checkout` command:
99+
100+
```
101+
git checkout -b <feature/useful-new-thing> origin/develop
102+
```
103+
replacing `<feature/useful-new-thing>` with the adequate name of the feature you will develop.
104+
105+
### Make necessary changes and commit those changes
106+
107+
Now that you've properly installed and forked Angular Rust, you are ready to start coding (assuming you have a validated your ideas with other community members)!
108+
109+
### Format Your Code
110+
111+
Remember to run `cargo fmt` before committing your changes.
112+
Many Go developers opt to have their editor run `cargo fmt` automatically when saving Go files.
113+
114+
Additionally, follow the [core Rust style conventions](https://rustc-dev-guide.rust-lang.org/conventions.html) to have your pull requests accepted.
115+
116+
### Write Tests (and Benchmarks for Bonus Points)
117+
118+
Significant new features require tests. Besides unit tests, it is also possible to test a feature by exercising it in one of the sample apps and verifying its
119+
operation using that app's test suite. This has the added benefit of providing example code for developers to refer to.
120+
121+
Benchmarks are helpful but not required.
122+
123+
### Run the Tests
124+
125+
Typically running the main set of unit tests will be sufficient:
126+
127+
```
128+
$ cargo test
129+
```
130+
### Document Your Feature
131+
132+
Due to the wide audience and shared nature of Angular Rust, documentation is an essential addition to your new code. **Pull requests risk not being accepted** until proper documentation is created to detail how to make use of new functionality.
133+
134+
### Add yourself to the list of contributors
135+
136+
Open `CONTRIBUTORS.md` file in a text editor, add your name to it. Don't add it at the beginning or end of the file. Put it anywhere in between. Now, save the file.
137+
138+
<img width="635" src="https://dudochkin-victor.github.io/assets/github/git-status.png" alt="git status" />
139+
140+
If you go to the project directory and execute the command `git status`, you'll see there are changes.
141+
142+
Add those changes to the branch you just created using the `git add` command:
143+
144+
```
145+
git add .
146+
```
147+
148+
Now commit those changes using the `git commit` command:
149+
150+
```
151+
git commit -m "$COMMENT"
152+
```
153+
154+
replacing `$COMMENT` with appropriate description of your changes.
155+
156+
### Push changes to GitHub
157+
158+
Push your changes using the command `git push`:
159+
160+
```
161+
git push origin <feature/useful-new-thing>
162+
```
163+
164+
replacing `<feature/useful-new-thing>` with the name of the branch you created earlier.
165+
166+
### Submit your changes for review
167+
168+
Once you've done all of the above & pushed your changes to your fork, you can create a pull request for review and acceptance.
169+
170+
If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button.
171+
172+
<img width="1000" src="https://dudochkin-victor.github.io/assets/github/compare-and-pull.png" alt="create a pull request" />
173+
174+
Now submit the pull request.
175+
Do not forget to set develop branch for your pull request.
176+
177+
<img width="1000" src="https://dudochkin-victor.github.io/assets/github/submit-pull-request.png" alt="submit pull request" />
178+
179+
180+
## Where to go from here?
181+
182+
Congrats! You just completed the standard _fork -> clone -> edit -> pull request_ workflow that you'll encounter often as a contributor!
183+
184+
You can check more details in our **[detailed contribution guide](https://angular-rust.github.io/contributing/)**.
185+
186+
You could join our gitter team in case you need any help or have any questions. [Join gitter team](https://gitter.im/angular_rust/community).

CONTRIBUTORS.md

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Ruex contributors (sorted alphabetically)
2+
============================================
3+
4+
* **[Victor Dudochkin](https://github.com/dudochkin.victor)**
5+
6+
* Core development
7+
8+
9+
10+
**[Full contributors list](https://github.com/angular-rust/ruex/contributors).**

README.md

+61-17
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,91 @@
1+
<div align="center">
2+
3+
![Star a repo](https://dudochkin-victor.github.io/assets/ruex/logo-wide.svg)
14
# Ruex
25

36
[![API Docs][docrs-badge]][docrs-url]
47
[![Crates.io][crates-badge]][crates-url]
5-
[![MPL-2.0 licensed][mpl-badge]][mpl-url]
8+
[![MPL-2.0 licensed][license-badge]][license-url]
69
[![Gitter chat][gitter-badge]][gitter-url]
710
[![Rustc Version 1.45+][rust-badge]][rust-url]
11+
[![loc][loc-badge]][loc-url]
12+
</div>
813

914
[docrs-badge]: https://img.shields.io/docsrs/ruex?style=flat-square
1015
[docrs-url]: https://docs.rs/ruex/
1116
[crates-badge]: https://img.shields.io/crates/v/ruex.svg?style=flat-square
1217
[crates-url]: https://crates.io/crates/ruex
13-
[mpl-badge]: https://img.shields.io/badge/license-MPL--2.0-blue.svg?style=flat-square
14-
[mpl-url]: https://github.com/angular-rust/ruex/blob/master/LICENSE
18+
[license-badge]: https://img.shields.io/badge/license-MPL--2.0-blue.svg?style=flat-square
19+
[license-url]: https://github.com/angular-rust/ruex/blob/master/LICENSE
1520
[gitter-badge]: https://img.shields.io/gitter/room/angular_rust/angular_rust.svg?style=flat-square
16-
[gitter-url]: https://gitter.im/angular_rust/angular_rust
21+
[gitter-url]: https://gitter.im/angular_rust/community
1722
[rust-badge]: https://img.shields.io/badge/rustc-1.45-lightgrey.svg?style=flat-square
1823
[rust-url]: https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html
24+
[loc-badge]: https://tokei.rs/b1/github/angular-rust/ruex?category=code
25+
[loc-url]: https://github.com/angular-rust/ruex
1926

20-
Angular Rust is a high productivity, frontend web framework for the [Rust language](https://www.rust-lang.org/).
27+
Ruex is a Centralized State Management And Design Patterns for Rust.
2128

22-
## Quick Start
29+
**Angular Rust** is a high productivity, `platform-agnostic` frontend framework for the [Rust language](https://www.rust-lang.org/). It now supports desktop and web development. Angular Rust currently uses GTK for desktop development and WebAssembly for web development. We are planning to add support for mobile development.
2330

24-
Install Angular Rust:
31+
## Features
2532

26-
cargo add ruex
33+
- [x] Graphic abstraction for cairo and web canvas, implemented in [UX Animate](https://github.com/angular-rust/ux-animate)
2734

28-
## Community
2935

30-
* [Gitter](https://gitter.im/angular_rust/community)
31-
* [StackOverflow](https://stackoverflow.com/questions/tagged/angular-rust)
36+
## Quick Start
37+
38+
Install Ruex:
3239

40+
cargo add ruex
3341

3442
## Learn More
3543

36-
* [Manual, Samples, Docs, etc](https://angular-rust.github.io/)
44+
* [Manual, Docs, etc](https://angular-rust.github.io/)
45+
* [Samples](https://github.com/angular-rust/ux-samples)
3746
* [Apps using Angular Rust](https://github.com/angular-rust/ruex/wiki/Apps-in-the-Wild)
3847
* [Articles Featuring Angular Rust](https://github.com/angular-rust/ruex/wiki/Articles)
3948

40-
## Bugs ##
41-
If you find an issue, let me know [here](https://github.com/angular-rust/ruex/issues/new).
49+
## Community
50+
51+
[![](https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=white)](https://www.facebook.com/groups/angular.rust)
52+
[![](https://img.shields.io/badge/Stack_Overflow-FE7A16?style=for-the-badge&logo=stack-overflow&logoColor=white)](https://stackoverflow.com/questions/tagged/angular-rust)
53+
[![](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/channel/UCBJTkSl_JWShuolUy4JksTQ)
54+
[![](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://medium.com/@angular.rust)
55+
[![](https://img.shields.io/gitter/room/angular_rust/angular_rust?style=for-the-badge)](https://gitter.im/angular_rust/community)
56+
4257

4358
## Contributing
44-
I openly welcome community contributions, including bug fixes and new features. Please feel free to [fork the project](https://github.com/angular-rust/ruex/fork) and submit a pull request.
4559

46-
* [Contributing Code Guidelines](https://github.com/angular-rust/ruex/blob/main/CONTRIBUTING.md)
47-
* [Angular Rust Contributors](https://github.com/angular-rust/ruex/graphs/contributors)
60+
We believe the wider community can create better code. The first tool for improving the community is to tell the developers about the project by giving it a star. More stars - more members.
61+
62+
![Star a repo](https://dudochkin-victor.github.io/assets/star-me-wide.svg)
63+
64+
Angular Rust is a community effort and we welcome all kinds of contributions, big or small, from developers of all backgrounds. We want the Angular Rust community to be a fun and friendly place, so please review our [Code of Conduct](CODE_OF_CONDUCT.md) to learn what behavior will not be tolerated.
65+
66+
### New to Angular Rust?
67+
68+
Start learning about the framework by helping us improve our [documentation](https://angular-rust.github.io/). Pull requests which improve test coverage are also very welcome.
69+
70+
### Looking for inspiration?
71+
72+
Check out the community curated list of awesome things related to Angular Rust / WebAssembly at [awesome-angular-rust](https://github.com/angular-rust/awesome-angular-rust).
73+
74+
### Confused about something?
75+
76+
Feel free to drop into our [Gitter chatroom](https://gitter.im/angular_rust/community) or open a [new "Question" issue](https://github.com/angular-rust/ruex/issues/new/choose) to get help from contributors. Often questions lead to improvements to the ergonomics of the framework, better documentation, and even new features!
77+
78+
### Ready to dive into the code?
79+
80+
After reviewing the [Contributing Code Guidelines](CONTRIBUTING.md), check out the ["Good First Issues"](https://github.com/angular-rust/ruex/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) (they are eager for attention!). Once you find one that interests you, feel free to assign yourself to an issue and don't hesitate to reach out for guidance, the issues vary in complexity.
81+
82+
### Let's help each other!
83+
84+
Come help us on the [issues that matter that the most](https://github.com/angular-rust/ruex/labels/%3Adollar%3A%20Funded%20on%20Issuehunt) and receive a small cash reward for your troubles. We use [Issuehunt](https://issuehunt.io/r/angular-rust/ruex/) to fund issues from our Open Collective funds. If you really care about an issue, you can choose to add funds yourself!
85+
86+
### Found a bug?
87+
88+
Please [report all bugs!](https://github.com/angular-rust/ruex/issues/new/choose) We are happy to help support developers fix the bugs they find if they are interested and have the time.
89+
90+
## Todo
91+
- [ ] Documentation

TODO.md

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
TODO
2+
====
3+
4+
## Basics
5+
6+
- [ ] Fix up adapter.rs pattern
7+
- [x] Create script that autogenerates documentation from code
8+
- [ ] Add code automatically when building (no duplication)
9+
- [ ] Add basic Design Pattern info
10+
- [ ] Add complete list of patterns on side
11+
12+
## Types of Design Patterns
13+
14+
- [ ] Structural
15+
- [ ] Behavioral
16+
- [ ] Creational
17+
18+
## Design Patterns
19+
20+
- [ ] Abstract Factory
21+
- [ ] Builder
22+
- [ ] Factory Method
23+
- [ ] Prototype
24+
- [ ] Singleton
25+
- [ ] Adapter
26+
- [ ] Bridge
27+
- [ ] Composite
28+
- [ ] Decorator
29+
- [ ] Facade
30+
- [ ] Flyweight
31+
- [ ] Proxy
32+
- [ ] Chain of Responsibility
33+
- [ ] Command
34+
- [ ] Interpreter
35+
- [ ] Iterator
36+
- [ ] Mediator
37+
- [ ] Memento
38+
- [ ] Observer
39+
- [ ] Strategy
40+
- [ ] Template Method
41+
- [ ] Visitor

0 commit comments

Comments
 (0)