Skip to content

Commit fb264a8

Browse files
authored
Merge pull request #68 from ghimiresdp/feature/documentation
Add Screenshots and documentation to projects
2 parents eae14af + 1b0ae3f commit fb264a8

File tree

4 files changed

+71
-13
lines changed

4 files changed

+71
-13
lines changed

README.md

Lines changed: 71 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ghimiresdp/rust-raid/rust.yml)
55
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/ghimiresdp/rust-raid)
66

7-
87
> **DISCLAIMER !!**
98
>
109
> This project is not affiliated with, endorsed by, or sponsored by the Rust
@@ -18,14 +17,17 @@ learners and coding challenge seekers.
1817

1918
> **Note**: In some linux distributions (especially WSL), the following packages
2019
> might need to be installed to run some binaries that require network request.
20+
>
2121
> 1. **`pkg-config`**
2222
> 2. **`libssl-dev`**
2323
>
2424
> Example commands for installing in ubuntu
25+
>
2526
> ```bash
2627
> sudo apt install pkgconf
2728
> sudo apt install libssl-dev
2829
> ```
30+
>
2931
> You can check similar commands for other distributions
3032
3133
**The repository contains the following**:
@@ -54,7 +56,6 @@ cargo test --bin huffman
5456
> _updated once the solution gets completed._
5557
>
5658
> _You can also create a PR with the solution/enhancement to each topic._
57-
>
5859
5960
## [1. Data Structures](data-structures/)
6061

@@ -67,7 +68,7 @@ cargo test --bin huffman
6768
4. [**Stacks**](data-structures/src/stack.rs) `cargo run --bin stack`
6869
5. [**Queues**](data-structures/src/queue.rs) `cargo run --bin queue`
6970
6. [**Binary Trees**](data-structures/src/binary_tree.rs) `cargo run --bin binary_tree`
70-
7. [**Trie**](data-structures/src/trie.rs) `cargo run --bin trie`
71+
7. [**Trie**](data-structures/src/trie.rs) `cargo run --bin trie`
7172

7273
## [2. Algorithms](./algorithms/README.md)
7374

@@ -116,7 +117,7 @@ cargo test --bin huffman
116117

117118
### [4.1. Basic Problems](problem-solving/src/basic/)
118119

119-
1. [Practical Number](problem-solving/src/basic/practical_number.rs) `cargo run --bin practical_number`
120+
1. [Practical Number](problem-solving/src/basic/practical_number.rs) `cargo run --bin practical_number`
120121
2. [Greatest Common Divisor](problem-solving/src/basic/gcd.rs) `cargo run --bin gcd`
121122
3. [Median](problem-solving/src/basic/median.rs) `cargo run --bin median`
122123
4. [Reverse digits of the integer](problem-solving/src/basic/reverse_integer.rs) `cargo run --bin reverse_integer`
@@ -136,65 +137,122 @@ cargo test --bin huffman
136137
7. [Coin Change Problem](problem-solving/src/dp/coin_change.rs) `cargo run --bin coin_change`
137138
8. [Palindrome Partition](problem-solving/src/dp/palindrome_partition.rs) `cargo run --bin palindrome_partition`
138139

139-
140140
## [5. Advanced Concepts](advanced/README.md)
141141

142142
### 5.1. Memory Management
143+
143144
- [Ownership, borrowing, and Lifetimes](advanced/memory-management/src/ownership.rs) `cargo run --bin ownership`
144145
- [Unsafe Rust](advanced/memory-management/src/unsafe.rs)
145146

146147
### 5.2. Type System and Generics
148+
147149
- [Generic Types](advanced/types-and-generics/src/generics.rs) `cargo run --bin generics`
148150
- [Trait Objects and Dynamic Dispatch](advanced/types-and-generics/src/traits.rs) `cargo run --bin traits`
149151
- Associated types and Generic Type parameters
150152
- Lifetime Sub-typing
151153

152154
### 5.3. Concurrency and Parallelism
155+
153156
- [`Async/Await` and `Futures`](advanced/concurrent-programming/src/threading.rs) `cargo run --bin threading`
154157
- [Thread Spawning](advanced/concurrent-programming/src/spawning.rs) `cargo run --bin spawning`
155158

156159
### 5.4. Macros and Meta programming
160+
157161
- [`macro_rules!`](advanced/meta-programming/src/macro-rules.rs) `cargo run --bin macro`
158162
- [Derive Macros](advanced/meta-programming/src/derive-macro.rs) `cargo run --bin derive`
159163
- [Building Domain-Specific Languages (DSL)](advanced/meta-programming/src/dsl.rs) `cargo run --bin dsl`
160164

161165
### 5.5. Low-level and systems programming
166+
162167
- [Conditional Compilation](advanced/systems-programming/src/conditional-compilation.rs) `cargo run --bin cc`
163168
- [Inline Assembly](advanced/systems-programming/src/inline-assembly.rs) `cargo run --bin assembly`
164169
- Foreign Function Interface (FFI)
165170
- Embedded rust and Bare-metal programming
166171

167172
### 5.6. Error handling and patterns
173+
168174
- [Unrecoverable error and `panic!` macro](advanced/error-handling/src/panic.rs) `cargo run --bin panic`
169175
- [Recoverable error and `Result` enum](advanced/error-handling/src/result.rs) `cargo run --bin result`
170176
- Advanced Error Handling
171-
- [Propagating Errors with `?` operator](advanced/error-handling/src/propagation.rs) `cargo run --bin propagation`
172-
- [Custom Errors](advanced/error-handling/src/custom-error.rs) `cargo run --bin custom-error`
177+
- [Propagating Errors with `?` operator](advanced/error-handling/src/propagation.rs) `cargo run --bin propagation`
178+
- [Custom Errors](advanced/error-handling/src/custom-error.rs) `cargo run --bin custom-error`
173179
- Dependency Injection patterns in rust
174180

175181
### [5.7. Operator Overloading](advanced/operator-overloading/src/main.rs) `cargo run --bin operator-overloading`
182+
176183
- Example 1: Operator Overloading in structs (overloading `+` and `-` operators)
177184
- Example 2: Matrix Multiplication ( overloading `*` operator)
178185
- Example 3: Scalar Multiplication (operator overloading with heterogeneous data type)
179186

180187
### 5.8. Smart Pointers
188+
181189
- [Box Pointers](advanced/smart-pointers/src/box.rs) `cargo run --bin box`
182190
- [Reference Counters (`Rc`)](advanced/smart-pointers/src/rc.rs) `cargo run --bin rc`
183191
- [`RefCell`](advanced/smart-pointers/src/refcell.rs)`cargo run --bin refcell`
184192
- [`Arc Mutex`](advanced/smart-pointers/src/arc-mutex.rs)`cargo run --bin arc-mutex`
185193

186194
### 5.9. Specialized topics
195+
187196
- Writing a custom allocator
188197
- Self-referential structs (`box`, `rc`, `Arc`)
189198

199+
---
200+
190201
## [6. Projects](./projects/)
191202

192-
1. [Python's `Pandas` like dataframe container](projects/pandas/README.md) `cargo run --bin pandas`
193-
2. [`ruscrypt` basic encryption](projects/ruscrypt/README.md) `cargo run --bin ruscrypt`
194-
3. [Basic Password `vault`](projects/vault/README.md) `cargo run --bin vault`
195-
4. [Basic `TODO` Web Application](projects/todo-web/README.md) `cargo run --bin todo`
196-
5. [`wget` -like File Downloader with Concurrency - `cget`]() `cargo run --bin cget <DOWNLOAD_URL>`
197-
Example: `cargo run --bin cget https://filesamples.com/samples/document/docx/sample4.docx`
203+
### [6.1. `pandas` - pandas-like mini-dataframe container project](projects/pandas/README.md)
204+
205+
Command:
206+
```sh
207+
cargo run --bin pandas
208+
```
209+
210+
![pandas](res/images/pandas.png)
211+
212+
---
213+
214+
### [6.2. `ruscrypt` - A basic encryption mini-project](projects/ruscrypt/README.md)
215+
216+
Command:
217+
```sh
218+
cargo run --bin ruscrypt
219+
```
220+
221+
---
222+
223+
### [6.3. Basic Password `vault`](projects/vault/README.md)
224+
225+
Command:
226+
```sh
227+
cargo run --bin vault
228+
```
229+
230+
---
231+
232+
### [6.4. A Basic `TODO` Web Application mini project](projects/todo-web/README.md)
233+
234+
Command:
235+
```sh
236+
cargo run --bin todo
237+
```
238+
239+
and browse: http://localhost:8080
240+
241+
![todo](res/images/todo.png)
242+
243+
---
244+
245+
### [6.5. `cget` - a wget-like file downloader utility with multithreading](projects/cget/Cargo.toml)
246+
247+
Command: `cargo run --bin cget <DOWNLOAD_URL>`
248+
249+
Example:
250+
```shell
251+
cargo run --bin cget https://mirrors.saswata.cc/kde/stable/krita/5.2.14/krita-x64-5.2.14-setup.exe
252+
```
253+
254+
![cget](res/images/cget.png)
255+
198256

199257
## Running binaries
200258

res/images/cget.png

79.8 KB
Loading

res/images/pandas.png

99.6 KB
Loading

res/images/todo.png

452 KB
Loading

0 commit comments

Comments
 (0)