Skip to content

Latest commit

 

History

History
75 lines (59 loc) · 8.55 KB

File metadata and controls

75 lines (59 loc) · 8.55 KB

InsightOS উন্নতি পরিকল্পনা

১. জটিল বাগ ও ডেটা অখণ্ডতা

অগ্রাধিকার সমস্যা সমাধান
উচ্চ user.service.js-এ deleteAccount ট্রানজ্যাকশন ছাড়া সিকোয়েন্সিয়ালভাবে চলে — আংশিক ব্যর্থতায় ডেটা দূষিত হয় MongoDB ট্রানজ্যাকশনে মোড়ানো
উচ্চ পুরনো অ্যাভাটার ফাইল মুছে ফেলা হয় না — ডিস্কে জমা হয় নতুন ফাইল সেভের আগে পুরনো ফাইল ডিলিট করুন
মাঝারি gemini.config.js-এ Pino লগারের পরিবর্তে console.error ব্যবহার করা হয়েছে logger.error দিয়ে প্রতিস্থাপন
নিম্ন chatStream-এ AI স্ট্রিম error handling জটিল error propagation সহজ করা

২. নিরাপত্তা

অগ্রাধিকার সমস্যা সমাধান
উচ্চ Access token localStorage-এ রাখা হয়েছে (XSS ঝুঁকিপূর্ণ) httpOnly কুকিতে refresh token-এর পাশাপাশি রাখা
মাঝারি কুকি-ভিত্তিক auth-এর জন্য CSRF সুরক্ষা নেই CSRF টোকেন বা double-submit কুকি প্যাটার্ন যোগ করা
মাঝারি user.service.js সরাসরি মডেল ইম্পোর্ট করে (repo layer এড়িয়ে যায়) রিপোজিটরি ব্যবহার করা
নিম্ন ধ্বংসাত্মক DELETE এন্ডপয়েন্টে (/api/user/data, /api/user/account) পাসওয়ার্ড নিশ্চিতকরণ নেই কনফার্মেশন ফিল্ড ভ্যালিডেশন যোগ করা
নিম্ন Rate limit 200/ঘণ্টা ড্যাশবোর্ডের জন্য সীমাবদ্ধ 1000/ঘণ্টা বা কনফিগারেবল করা

৩. আর্কিটেকচার ও কোড কোয়ালিটি

অগ্রাধিকার সমস্যা সমাধান
উচ্চ প্রতিটি মডিউলে validate মিডলওয়্যার ৫ বার ডুপ্লিকেট middleware/validate.js-এ একত্রিত করা
মাঝারি auth.controller.getCurrentUser সরাসরি authRepository কল করে (service layer এড়িয়ে) authService-এর মাধ্যমে রুট করা
মাঝারি Expense ক্যাটাগরি দুটি জায়গায় magic string হিসেবে সংজ্ঞায়িত (model + validation) শেয়ার্ড কনস্ট্যান্ট তৈরি করা
মাঝারি prompt.builder.js সরাসরি saleService/expenseService ইম্পোর্ট করে (ক্রস-মডিউল কাপলিং) ডেডিকেটেড analytics service তৈরি করা
মাঝারি authorizeRole মিডলওয়্যার থাকলেও কোথাও ব্যবহার হয় না অ্যাডমিন রুটে role-based access প্রয়োগ
নিম্ন কন্ট্রোলারে অব্যবহৃত export পরিষ্কার করা

৪. অনুপস্থিত ফিচার

অগ্রাধিকার ফিচার বিবরণ
মাঝারি Dashboard API এন্ডপয়েন্ট (/api/dashboard) sales analytics + expense summary + product stats একত্রিত করা
মাঝারি ইমেইল ভেরিফিকেশন ফ্লো রেজিস্ট্রেশনে ভেরিফিকেশন ইমেইল পাঠানো
মাঝারি পাসওয়ার্ড রিসেট ফ্লো forgot/reset পাসওয়ার্ড এন্ডপয়েন্ট
নিম্ন PDF ইনভয়েস জেনারেশন ANALYSIS.md-এ উল্লেখিত
নিম্ন CSV ডেটা এক্সপোর্ট ব্যাকএন্ড এন্ডপয়েন্ট সার্ভার-সাইড CSV জেনারেশন
নিম্ন অডিট লগিং ইউজার অপারেশন ট্র্যাক করা
নিম্ন বাল্ক অপারেশন (ইম্পোর্ট/ডিলিট) CSV প্রোডাক্ট ইম্পোর্ট, বাল্ক ডিলিট

৫. টেস্টিং

অগ্রাধিকার সমস্যা সমাধান
উচ্চ কন্ট্রোলার, সার্ভিস, রিপোজিটরি, মডেল, মিডলওয়্যার, রুটের জন্য শূন্য টেস্ট প্রতিটি মডিউলের জন্য ইন্টিগ্রেশন টেস্ট যোগ করা
উচ্চ ফ্রন্টএন্ডে শূন্য টেস্ট Vitest + React Testing Library সেটআপ
মাঝারি মাত্র ৫টি ইউটিলিটি টেস্ট আছে ইউটিলিটি কভারেজ বাড়ানো

৬. ফ্রন্টএন্ড উন্নতি

অগ্রাধিকার সমস্যা সমাধান
মাঝারি localStorage-এ সম্পূর্ণ ইউজার অবজেক্ট রাখা (সংবেদনশীল ডেটা) শুধু প্রয়োজনীয় ফিল্ড রাখা (id, name, role)
মাঝারি হার্ডকোডেড USD কারেন্সি ফরম্যাটিং env/context-এর মাধ্যমে কনফিগারেবল করা
নিম্ন Zod ব্যবহার করে ফ্রন্টএন্ড ফর্ম ভ্যালিডেশন নেই (@hookform/resolvers থাকা সত্ত্বেও) ফর্মে Zod স্কিমা যোগ করা
নিম্ন অ্যাক্সেসিবিলিটি (a11y) অডিট নেই ARIA লেবেল, কীবোর্ড ন্যাভিগেশন যোগ করা

৭. পারফরম্যান্স

অগ্রাধিকার সমস্যা সমাধান
মাঝারি /api/products/low-stock সব রেজাল্ট রিটার্ন করে (পেজিনেশন নেই) পেজিনেশন যোগ করা
নিম্ন AI কনটেক্সট সবসময় শেষ ৩০ দিনের ডেটা আনে (কোয়েরির সময়কাল নির্বিশেষে) ইউজার কোয়েরি থেকে সময় পরিসীমা পার্স করা

কার্যকর করার ক্রম

  1. পর্ব ১ — জটিল বাগ + নিরাপত্তা (access token কুকিতে) + Validate মিডলওয়্যার একত্রিকরণ
  2. পর্ব ২ — আর্কিটেকচার উন্নতি (service layer বিশুদ্ধতা, শেয়ার্ড কনস্ট্যান্ট, role enforcement)
  3. পর্ব ৩ — টেস্টিং (ব্যাকএন্ড ইন্টিগ্রেশন টেস্ট + ফ্রন্টএন্ড সেটআপ)
  4. পর্ব ৪ — অনুপস্থিত ফিচার (dashboard endpoint, email/password flows)
  5. পর্ব ৫ — ফ্রন্টএন্ড পলিশ + পারফরম্যান্স + Nice-to-haves