5 Rust Project Ideas For Beginner to Mid Devs 🦀
Tags: rust
Published: 2024-04-06 09:26:37

---
title: 5 Rust Project Ideas For Beginner to Mid Devs 🦀
published: true
date: 2024-04-05 07:33:48 UTC
tags: rust
canonical_url: https://eleftheriabatsou.hashnode.dev/5-rust-project-ideas-for-beginner-to-mid-devs
---
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tw9b6w3hyyg6o68b42i6.jpeg)

Hey there, welcome back to my blog! 👋

If you're learning Rust and want to practice your skills I want to introduce you to 5 practical projects that will help you in real-world projects. I wrote two more similar articles, one for [complete beginners](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-absolutely-beginners-devs-2706) and one [for beginners](https://dev.to/eleftheriabatsou/5-rust-project-ideas-for-beginner-devs-1am3), this is one step up on the learning ladder for beginner to mid Rust devs.

Below you'll find: the 5 project ideas, the posts (tweets) or articles where I'm explaining step-by-step how you can build these projects and a link to the corresponding GitHub repo!

## Project Idea 5: Extract Links

{% embed https://twitter.com/BatsouElef/status/1761741991375675649 %}

When you finish this project you'll know how to make an asynchronous GET request to a URL, parse the HTML response, and extract and print all external links (i.e., links within `<a>` tags with the `href` attribute) from the response using the `select` crate in Rust.

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/extract-links-rust).

## Project Idea 4: Connect Rust and SQLite

{% embed https://twitter.com/BatsouElef/status/1762866984302063938 %}

This is the first time I'm including in my Rust project ideas something like this: connecting to a database. From now on you'll see it more often. 😊

This program connects to an SQLite database, creates the necessary tables and schema, inserts data into the database, and prints the result of the SQL query execution. It demonstrates how to interact with an SQLite database using the sqlx crate.

I also wrote a detailed article about it, check it [here](https://dev.to/eleftheriabatsou/integrating-rust-with-sqlite-a-practical-guide-for-beginners-devs-3j40):

{% embed https://dev.to/eleftheriabatsou/integrating-rust-with-sqlite-a-practical-guide-for-beginners-devs-3j40 %}

For real-world projects, this is something very common so I'd highly recommend working on this or a similar project!

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/connect-SQLite-and-rust).

## Project Idea 3a: Password Vault

{% embed https://twitter.com/BatsouElef/status/1764004155142647904 %}

Build a basic command-line interface (CLI) for managing a password vault, allowing users to: Add an entry, list all entries, search an entry, or quit the program.

This program is a great starting point to start building more complex apps!

I also wrote a detailed article about it, check it [here](https://dev.to/eleftheriabatsou/building-a-password-vault-in-rust-a-beginners-guide-2036):

{% embed https://dev.to/eleftheriabatsou/building-a-password-vault-in-rust-a-beginners-guide-2036 %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/password-vault-rust/).

## Project Idea 3b: Password Vault but with SQLite

{% embed https://twitter.com/BatsouElef/status/1764739523458564167 %}

This project is very similar to this "password vault" only this time you can add a database (SQLite).

I also wrote a detailed article about it, check it [here](https://dev.to/eleftheriabatsou/sqlite-rust-building-a-cli-password-vault-2i1i):

{% embed https://dev.to/eleftheriabatsou/sqlite-rust-building-a-cli-password-vault-2i1i %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/extract-links-rust).

## Project Idea 2: Mathematical Operations

{% embed https://twitter.com/BatsouElef/status/1765407725393957065 %}

You can create a simple REST API project for performing mathematical operations! In this case I'm performing addition, multiplication, and division operations via GET, using Actix and Rhai. This is a great way to learn about Actix and Rhai. You'll notice that later I'll be referring to Actix more.

I also wrote a detailed article about it, check it [here](https://dev.to/eleftheriabatsou/building-a-rest-api-for-math-operations-with-rust-actix-and-rhai-1ca1):

{% embed https://dev.to/eleftheriabatsou/building-a-rest-api-for-math-operations-with-rust-actix-and-rhai-1ca1 %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/mathematical-operations-with-http-rhai-actix-rust/tree/main).

## Project Idea 1: PasteBin

{% embed https://twitter.com/BatsouElef/status/1767870730400645178 %}

With this project, users can submit text content, store it in a local database, and retrieve it using a generated URL. In my case, I have an HTML file that defines the structure and design of the user interface, while the Rust code handles HTTP requests, database interactions, and URL routing.

I also wrote a detailed article about it, check it [here](https://dev.to/eleftheriabatsou/building-a-pastebin-in-rust-a-step-by-step-tutorial-55pb):

{% embed https://dev.to/eleftheriabatsou/building-a-pastebin-in-rust-a-step-by-step-tutorial-55pb %}

Check it on [**GitHub**](https://github.com/EleftheriaBatsou/paste-bin-rust).

## Notes

I'm new to Rust and I hope these small projects will help you get better and improve your skills. Check here [**part 1**](https://eleftheriabatsou.hashnode.dev/5-rust-project-ideas-for-absolutely-beginners-devs) and [**part 2**](https://eleftheriabatsou.hashnode.dev/5-rust-project-ideas-for-beginner-devs) of Rust project ideas and if you need more resources I'd also like to suggest [**Akhil Sharma**](https://www.youtube.com/@AkhilSharmaTech)'s YouTube Channel.

* * *

👋 Hello, I'm Eleftheria, **Community Manager,** developer, public speaker, and content creator.

🥰 If you liked this article, consider sharing it.

🔗 [**All links**](https://limey.io/batsouelef) | [**X**](https://twitter.com/BatsouElef) | [**LinkedIn**](https://www.linkedin.com/in/eleftheriabatsou/)