r/rust 6h ago

๐Ÿ™‹ seeking help & advice Got any Idea?

Hi,
I have started learning Rust recently. And I want to improve myself by doing projects. Do you have any cool ideas that can be done by a beginner. It doesnโ€™t have to be something unique. I just want it to be cool (not sure what I mean by cool but you can think of it as a not boring project or useful) and educative.

Note: If you can elaborate what the idea is would be great and what do i need to know or look for. I do not know what I am doing most of the time. I am trying to get a picture of my capabilities.

0 Upvotes

11 comments sorted by

5

u/spunkyenigma 5h ago

Make a simple game (Tic Tac Toe) in the terminal. Then turn the game part into a library. Then make it into a graphical game with Bevy or into a webpage. Add networking to play a friend. Add a computer player.

Great way to learn a lot of different parts of Rust without overthinking the game itself

3

u/DavidXkL 5h ago

Make some TUI apps! Can try ratatui for that too

2

u/neneodonkor 5h ago

You can build a simple excel app.

1

u/Personal_Pair1280 5h ago

ror handling and string manipulation

2

u/mike239x 4h ago

Depends on what you like / find interesting. Here is a random suggestion - there's a site called rosalind. There is a collection of ~300 programming problems grouped for the purpose of introducing people to bioinformatics. It's mostly tasks about string manipulation, but it does teach some cool stuff about both programming and biology along the way.

1

u/Melodic_Group_3273 4h ago

Will check out

1

u/MatrixFrog 1h ago

The two I quite enjoyed recently are Crafting Interpreters (I did it via codecrafters but you can also just follow the book: https://craftinginterpreters.com/ ) and Ray Tracing in One Weekend ( https://raytracing.github.io/books/RayTracingInOneWeekend.html )

In both cases they give you the code in another language (Java and then C for the interpreter, and C++ for the raytracer) so it's kind of a fun way to think about how Rust gives you different ways to express things compared to those languages.

1

u/NYU_VM 50m ago

"Project based learning, build your own X" on GitHub or other resources might have what you're searching for

1

u/QuirkyTidbits 13m ago

If you are interested, create a contacts list or another database app using the hyperdb-api crate that I wrote. It comes with an industry proven database engine called HyperDB for no cost. If you do, let me know. There are samples in the GitHub repository: https://github.com/tableau/hyper-api-rust

-1

u/Single-Blackberry866 5h ago

For a systems programming language, the most challenging part is outputting pixels to the screen, not just characters. Characters are still fun, but there's an eternity between building Hello world cli and interactive LLM chat. Alternatively, you could go a way of other interfaces: a TCP/IP server, USB, Bluetooth. In the end, computing is all about I/O, not just crunching numbers.