M
Mahyar Nasiriتوسعه‌دهنده
بازگشت به پروژه‌ها
رابط خط فرمانتکمیل شده2025

DOSSIER

یک دیتابیس پرونده مبتنی بر ترمینال با الهام از Mr. Robot برای ایجاد، مشاهده و ویرایش اطلاعات شخصیت‌ها در یک رابط CLI رترو.

DOSSIER

نگاه کلی

DOSSIER یک دیتابیس پرونده مبتنی بر ترمینال است که با الهام از فضای بصری و مفاهیم سریال Mr. Robot ساخته شده است. این پروژه با استفاده از Python و کتابخانه curses یک رابط ترمینالی تعاملی و رترو برای ایجاد، مشاهده و ویرایش پرونده شخصیت‌ها فراهم می‌کند. اطلاعات پرونده‌ها به‌صورت پویا از یک ساختار محلی در پوشه data بارگذاری شده و برای هر موضوع یک پوشه اختصاصی شامل فایل JSON ایجاد می‌شود. پروژه با ترکیب ناوبری کاملاً مبتنی بر کیبورد، ASCII Art، ذخیره‌سازی دائمی محلی و رابط منویی ترمینال، تجربه‌ای شبیه یک دیتابیس اطلاعاتی خصوصی و محرمانه ایجاد می‌کند.

ویژگی‌های کلیدی

رابط کاربری تعاملی و رترو ترمینال
ایجاد، مشاهده و ویرایش پرونده‌ها
ناوبری کامل با کیبورد
بارگذاری پویای پرونده‌ها
ذخیره‌سازی محلی مبتنی بر JSON
ساختار پوشه‌ای مجزا برای هر پرونده
بنرهای ASCII Art
رابط خط فرمان مبتنی بر منو
ایجاد خودکار دایرکتوری داده‌ها

فرآیند توسعه

چالش‌های پیش رو

  1. 01

    ساخت یک رابط تعاملی کامل در ترمینال بدون استفاده از فریم‌ورک‌های گرافیکی

  2. 02

    مدیریت ناوبری کیبورد، رندر صفحه و وضعیت ترمینال با استفاده از curses

  3. 03

    طراحی ساختار داده محلی و منعطف برای بارگذاری پویای پرونده‌ها

  4. 04

    ایجاد تجربه واقعی ترمینال رترو در کنار حفظ کاربردپذیری و ناوبری ساده

راه‌حل‌های پیاده‌سازی شده

  1. 01

    استفاده از curses برای ساخت رابط ترمینالی Stateful با منوهای تعاملی و ناوبری کیبوردی

  2. 02

    پیاده‌سازی مدل ذخیره‌سازی مبتنی بر دایرکتوری که در آن هر موضوع یک پروفایل مستقل دارد

  3. 03

    افزودن اسکن پویای فایل‌سیستم برای شناسایی پرونده‌ها بدون Hardcode کردن اطلاعات موضوعات

  4. 04

    یکپارچه‌سازی بنرهای ASCII با pyfiglet و الگوهای تعاملی ترمینال برای تقویت هویت بصری پروژه