Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/soumyasen1809/rustytuicalendar
TUI Calendar and To-Do app using Rust
https://github.com/soumyasen1809/rustytuicalendar
calendar chrono cli rust rust-lang serde serde-json todolist tui-rs weather-api wttr
Last synced: about 1 month ago
JSON representation
TUI Calendar and To-Do app using Rust
- Host: GitHub
- URL: https://github.com/soumyasen1809/rustytuicalendar
- Owner: soumyasen1809
- License: mit
- Created: 2024-09-05T07:07:20.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-09-16T17:53:45.000Z (about 2 months ago)
- Last Synced: 2024-09-29T21:02:13.574Z (about 2 months ago)
- Topics: calendar, chrono, cli, rust, rust-lang, serde, serde-json, todolist, tui-rs, weather-api, wttr
- Language: Rust
- Homepage:
- Size: 180 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RustyTUICalendar
RustyTUICalendar is a terminal-based calendar application written in Rust. It leverages the `chrono` crate for date and time manipulation and provides a simple and intuitive interface for viewing and managing calendar events.
![Image of the TUI interface](assets/calendar_look.png)
## Features
- Display a monthly calendar starting from Sunday
- Add and delete events
- Highlight current date
- Add and delete To-Do list
- User-friendly terminal interface
- View current weather data## Installation
To install RustyTUICalendar, you need to have Rust and Cargo installed on your system. You can install Rust by following the instructions on the official Rust website.
Clone the repository:
```sh
$ git clone https://github.com/soumyasen1809/RustyTUICalendar.git
$ cd RustyTUICalendar
```Build the project:
```sh
$ cargo build --release
```Run the application:
```sh
$ cargo run
```## Features
Press F9 to start typing your commands. If you want to delete the entire line and startover, press `Delete`. Add `Enter` to add the command.- **Add Events to ToDo or Calendar**: If the input specifies `todo`, it adds the event to the ToDo list. If the input specifies `app`, it adds the appointment to the calendar.
```sh
$ app, 2024-09-14 13:14:50, Appointment Title, Appointment Location
$ todo, true, Todo Title
```
- **Search for an Appointment**: If the input specifies `search`, it searches for the appointment in the calendar for the given date.
```sh
$ find, 2024-09-14
```
- **Jump to Today**: If the input specifies `today`, it sets the calendar date to the current date.
```sh
$ today
```The default location for Weather is set as Guatemala. If you want to add your city of choice, replace it to the city you want. If you want to get the weather conditions for your current location, leave the string empty.
Additionally, press F1 and F2 to move to previous and next days respectively, F3 and F4 to move to previous and next months respectively and F5 and F6 to move to previous and next years respectively.
## Contributing
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
## License
This project is licensed under the MIT License. See the LICENSE file for details.
## Acknowledgements
- chrono crate for date and time manipulation
- ratatui crate for terminal user interface
- wttr.in for weather data## Contact
For any questions or inquiries, please contact the author.