#task-manager #sqlite #roll #diesel #today #interaction #data-management

bin+lib on-a-roll

On a Roll is CLI task manager wriiten in Rust that makes you feel like you are on a roll today!

1 unstable release

0.1.0 Feb 15, 2024

#2208 in Database interfaces

MIT license

22KB
508 lines

On a Roll

On a Roll is a CLI task manager written in Rust that makes you feel like you are on a roll today.

It uses Diesel for database interactions and SQLite as the database engine, ensuring lightweight and efficient data management.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

  • Rust Programming Language

  • SQLite

  • Diesel CLI

Installing

First, clone the repository:

git clone https://github.com/donbignose/on-a-roll.git
cd on-a-roll

Install the Diesel CLI, which is necessary for handling database migrations:

cargo install diesel_cli --no-default-features --features sqlite

Set up the database by running Diesel migrations:

diesel setup

Now, you can build and run the project:

cargo build
cargo run

Development Practices

Conventional Commits

We use Commitizen and follow the Conventional Commits specification for our commit messages. This leads to more readable messages that are easy to follow when looking through the project history. It also allows us to automatically generate a changelog.

Using Commitizen

We recommend using Commitizen for crafting your commit messages. It's a tool that helps you write consistent and conventional commit messages. To use Commitizen, run cz commit in your terminal instead of git commit. This project includes a .cz.toml configuration file to facilitate Commitizen's usage.

Pre-commit Hooks

Our project employs pre-commit hooks to ensure code quality and adherence to standards. Before committing, hooks for code formatting and linting are run, helping to maintain a clean codebase.

Setting Up Pre-commit Hooks

To set up pre-commit hooks locally, run the following command:

pre-commit install

This command sets up hooks in your local repository, running checks such as rustfmt and Clippy before each commit.

Contributing

We welcome contributions from the community! Please read our contributing guidelines and code of conduct before making pull requests.

License

This project is licensed under the MIT License - see the file for details.

Dependencies

~25MB
~481K SLoC