Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust-Dash

یک اپلیکیشن دسکتاپ Tauri و Rust برای مدیریت تقویم شمسی با تکامل API h-dashboard.

ویژگی‌ها

  • 🗓️ تقویم شمسی (جلالی) کامل
  • 📝 مدیریت Todo - ایجاد، ویرایش، حذف و تکمیل کارها
  • 🔄 هماهنگ سازی لحظه‌ای با h-dashboard API
  • 🖥️ رابط کاربری جذاب و واکنش‌گرا
  • 🌐 Cross-platform - Windows, macOS, Linux
  • عملکرد بالا با Tauri و Rust
  • 🔐 امن - ارتباط مستقیم با API

نیازمندی‌ها

  • Rust 1.70+
  • Node.js 16+ (برای Tauri)
  • h-dashboard API (چالی شده)

نصب و راه‌اندازی

1. کلون کردن مخزن

git clone https://github.com/asgarimehdi/rust-dash.git
cd rust-dash

2. نصب وابستگی‌ها

# Rust
cargo build

# Tauri CLI
npm install -g @tauri-apps/cli

3. تنظیم محیط

cp .env.example .env

فایل .env را ویرایش کنید:

API_BASE_URL=http://localhost:8000/api
PORT=3000

4. اجرا

برای توسعه:

tauri dev

برای ساخت:

tauri build

فایل نهایی در src-tauri/target/release/bundle/ می‌باشد.

استفاده

1. تنظیم API

  1. از منوی سمت چپ، URL API و Token را وارد کنید
  2. URL: http://localhost:8000/api
  3. Token: از h-dashboard بدست آورید

2. مشاهده تقویم

  1. سال و ماه را انتخاب کنید
  2. روی "نمایش تقویم" کلیک کنید
  3. هر روز تمام کارهای آن را نشان می‌دهد

3. مدیریت کارها

  • افزودن: عنوان و تاریخ را وارد کنید
  • مشاهده جزئیات: روی هر روز کلیک کنید
  • تکمیل: از h-dashboard انجام دهید

ساختار پروژه

rust-dash/
├── src/
│   ├── main.rs              # نقطه ورودی Tauri
│   ├── api/
│   │   ├── client.rs        # کلاینت HTTP
│   │   ├── calendar.rs      # درخواست‌های تقویم
│   │   └── todo.rs          # درخواست‌های Todo
│   ├── handlers/
│   ├── models/
│   ├── jalali/              # تبدیل تاریخ
│   └── utils/
├── src-tauri/
│   ├── dist/                # UI فرانتند
│   │   └── index.html       # رابط کاربری
│   └── tauri.conf.json      # تنظیمات Tauri
├── Cargo.toml
├── build.rs
└── README.md

API Endpoints

تمام endpoints از طریق Tauri commands فراخوانی می‌شوند:

// تقویم
await invoke('get_calendar', { year, month, api_token, api_url })

// Todos
await invoke('get_todos', { date, api_token, api_url })
await invoke('create_todo', { title, start_at, end_at, api_token, api_url })
await invoke('update_todo', { id, title, is_completed, api_token, api_url })
await invoke('delete_todo', { id, api_token, api_url })
await invoke('toggle_complete', { id, api_token, api_url })

توسعه

کد Rust

# بررسی کد
cargo clippy

# فرمت‌کردن
cargo fmt

# تست
cargo test

رابط کاربری

فایل src-tauri/dist/index.html را ویرایش کنید:

<!-- CSS در <style> -->
<!-- JavaScript در <script> -->

ساخت برای توزیع

Windows

tauri build --target x86_64-pc-windows-msvc

macOS

tauri build --target universal-apple-darwin

Linux

tauri build --target x86_64-unknown-linux-gnu

حل مشکلات

خطای Connection Refused

❌ خطا: Cannot connect to h-dashboard API

حل: مطمئن شوید h-dashboard بر روی http://localhost:8000 اجرا شده است.

خطای Invalid Token

❌ خطا: Unauthorized

حل: Token درست را از h-dashboard دریافت کنید و در تنظیمات وارد کنید.

مشکل صفحه خالی

حل: Developer tools را با F12 باز کنید و console را چک کنید.

مشارکت

  1. Fork کردن مخزن
  2. شاخه جدید ایجاد کنید: git checkout -b feature/YourFeature
  3. تغییرات را commit کنید: git commit -m "Add feature"
  4. Push کنید: git push origin feature/YourFeature
  5. Pull Request ایجاد کنید

مجوز

تحت مجوز MIT.

پشتیبانی

در صورت مشکل، issue جدید باز کنید.

تماس

About

A Rust dashboard application

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages