کوپایلوت

چه عالی، آلاء! تولید نرم‌افزار یک فرآیند خلاقانه و فنی است که از ایده‌پردازی تا پیاده‌سازی و انتشار را در بر می‌گیرد. در ادامه مراحل اصلی تولید نرم‌افزار را به زبان ساده و کاربردی برایت توضیح می‌دهم:


🧭 مراحل تولید نرم‌افزار

1. 🎯 تحلیل نیازها (Requirements Analysis)

  • هدف نرم‌افزار چیست؟
  • کاربران چه کسانی هستند؟
  • چه قابلیت‌هایی باید داشته باشد؟
  • چه مشکلاتی را حل می‌کند؟

مثال: اگر می‌خواهی یک اپلیکیشن یادآور بسازی، باید بدانی کاربران چه نوع یادآوری‌هایی نیاز دارند (روزانه، هفتگی، با اعلان، با ایمیل و…).


2. 🧠 طراحی اولیه (Planning & Architecture)

  • انتخاب زبان برنامه‌نویسی (Python, JavaScript, Dart…)
  • انتخاب پلتفرم (وب، موبایل، دسکتاپ)
  • طراحی معماری نرم‌افزار (MVC، Microservices، Monolith)
  • طراحی پایگاه داده (SQL یا NoSQL)

اگر از Django و Djongo استفاده می‌کنی، معماری MVC و پایگاه داده MongoDB مناسب است.


3. 🎨 طراحی رابط کاربری (UI/UX Design)

  • طراحی صفحات و فرم‌ها
  • تجربه کاربری روان و ساده
  • استفاده از ابزارهایی مثل Figma یا Adobe XD

4. 💻 پیاده‌سازی (Development)

  • نوشتن کدهای بک‌اند و فرانت‌اند
  • اتصال به پایگاه داده
  • تست واحد (Unit Testing)
  • استفاده از Git برای کنترل نسخه

این مرحله جایی‌ست که مهارت‌های فنی‌ات مثل Django، Docker، Git واقعاً می‌درخشند.


5. 🧪 تست و رفع اشکال (Testing & Debugging)

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

6. 🚀 انتشار (Deployment)

  • استفاده از Docker برای بسته‌بندی
  • انتشار روی سرور یا سرویس‌هایی مثل Heroku، AWS، یا VPS
  • تنظیم SSL و دامنه

7. 🔄 نگهداری و به‌روزرسانی (Maintenance)

  • دریافت بازخورد کاربران
  • رفع باگ‌های جدید
  • افزودن قابلیت‌های تازه

اگر بگویی چه نوع نرم‌افزاری در ذهن داری—مثلاً اپلیکیشن مدیریت کارها، فروشگاه آنلاین، یا ربات تلگرام—می‌توانم مراحل را دقیق‌تر و شخصی‌سازی‌شده برایت بنویسم. آماده‌ای شروع کنیم؟ 💡✨

دیپسیک

 

تولید یک نرم‌افزار فرآیندی ساختاریافته است که شامل مراحل مختلفی می‌شود. در زیر مراحل اصلی تولید نرم‌افزار به‌صورت خلاصه و کاربردی آورده شده است:


1. جمع‌آوری نیازمندی‌ها (Requirements Gathering)

  • هدف: درک دقیق نیازهای کاربر و مشکلاتی که نرم‌افزار باید حل کند.

  • فعالیت‌ها:

    • مصاحبه با کاربران یا مشتریان.

    • تحلیل بازار و رقبا.

    • تعیین ویژگی‌های اصلی (Features) و محدودیت‌ها (مثل بودجه، زمان، فناوری).


2. تحلیل و طراحی (Analysis & Design)

  • هدف: تبدیل نیازمندی‌ها به طرح فنی.

  • فعالیت‌ها:

    • طراحی معماری نرم‌افزار (Software Architecture).

    • انتخاب فناوری‌ها (زبان برنامه‌نویسی، پایگاه داده، فریم‌ورک‌ها و…).

    • طراحی رابط کاربری (UI/UX) و تجربه کاربری.

    • ایجاد نمودارهای UML یا مستندات فنی (مثل نمودار کلاس، دنباله و…).


3. پیاده‌سازی (Implementation/Coding)

  • هدف: نوشتن کد بر اساس طراحی.

  • فعالیت‌ها:

    • تقسیم کار به ماژول‌ها یا تسک‌های کوچک (مثلاً با Agile یا Waterfall).

    • برنامه‌نویسی و ادغام بخش‌های مختلف.

    • استفاده از سیستم‌های کنترل نسخه مثل Git.


4. تست نرم‌افزار (Testing)

  • هدف: کشف و رفع خطاها قبل از انتشار.

  • انواع تست:

    • واحد (Unit Test): تست هر بخش به‌صورت جداگانه.

    • یکپارچگی (Integration Test): تست تعامل بین ماژول‌ها.

    • سیستم (System Test): تست کل نرم‌افزار در محیط شبیه‌سازی.

    • پذیرش (User Acceptance Test – UAT): تست توسط کاربر نهایی.


5. استقرار (Deployment)

  • هدف: انتشار نرم‌افزار برای کاربران.

  • فعالیت‌ها:

    • راه‌اندازی روی سرور (برای نرم‌افزارهای تحت وب) یا انتشار در استورها (مثل Google Play, App Store).

    • تنظیم پایگاه داده و زیرساخت‌ها.

    • استفاده از ابزارهای CI/CD (مثل Jenkins, Docker) برای اتوماسیون.


6. نگهداری و به‌روزرسانی (Maintenance & Updates)

  • هدف: بهبود نرم‌افزار پس از انتشار.

  • فعالیت‌ها:

    • رفع باگ‌های گزارش‌شده.

    • افزودن ویژگی‌های جدید.

    • بهینه‌سازی عملکرد و امنیت.


نکات کلیدی برای موفقیت:

  • مستندسازی: تمام مراحل را مستند کنید (Design Docs, API Docs, User Manuals).

  • مدیریت پروژه: از متدولوژی‌هایی مثل Agile (Scrum, Kanban) یا Waterfall استفاده کنید.

  • بازخورد کاربر: پس از انتشار، نظرات کاربران را جمع‌آوری و تحلیل کنید.


اگر نیاز به جزئیات بیشتری در هر مرحله دارید یا می‌خواهید بدانید برای پروژه خاص شما چه فناوری‌هایی مناسب است، خوشحال می‌شوم کمک کنم! 😊

 

 

کیوون

تولید یک نرم‌افزار فرآیندی است که از مراحل مختلفی تشکیل شده است. این مراحل به منظور طراحی، توسعه، تست و راه‌اندازی یک نرم‌افزار با کیفیت و قابل اطمینان طی می‌شود. در ادامه مرحله‌های اصلی تولید یک نرم‌افزار آورده شده است:


🧩 مراحل تولید یک نرم‌افزار

1. تحلیل نیازها (Requirement Analysis)

  • تعیین اینکه نرم‌افزار باید چه کارهایی انجام دهد.
  • جمع‌آوری نیازهای کاربران و سازمان.
  • مستندسازی نیازمندی‌های عملکردی و غیرعملکردی.
  • مشخص کردن محدوده پروژه (Scope).

🔹 نمونه سوالات:
چه کاربرانی از نرم‌افزار استفاده خواهند کرد؟ چه امکاناتی باید داشته باشد؟


2. طراحی نرم‌افزار (Software Design)

  • طراحی معماری کلی سیستم (High-Level Design).
  • طراحی جزئیات (Low-Level Design).
  • انتخاب فناوری‌ها (مانند زبان برنامه‌نویسی، پایگاه داده، فریم‌ورک و …).
  • طراحی رابط کاربری (UI/UX).

🔹 خروجی:
نمودارهای UML، طرح‌های دیتابیس، wireframe و prototype.


3. پیاده‌سازی (Implementation / Coding)

  • نوشتن کد برنامه براساس طراحی‌های قبلی.
  • استفاده از محیط‌های توسعه مناسب (IDE).
  • نوشتن کد تمیز و قابل نگهداری.
  • مدیریت کد با سیستم‌های کنترل نسخه (Git).

🔹 نکات مهم:
مراعات استانداردهای برنامه‌نویسی، تست واحد (Unit Test) هنگام کدنویسی.


4. تست (Testing)

  • تست واحد (Unit Testing)
  • تست یکپارچگی (Integration Testing)
  • تست سیستم (System Testing)
  • تست پذیرش (Acceptance Testing)

🔹 هدف:
شناسایی و رفع باگ‌ها و اطمینان از اینکه نرم‌افزار تمام نیازها را برآورده می‌کند.


5. راه‌اندازی (Deployment)

  • نصب و پیکربندی نرم‌افزار در محیط واقعی.
  • انتقال به سرور یا دستگاه‌های کاربران.
  • راه‌اندازی اولیه و آموزش کاربران.

🔹 نکات:
استفاده از ابزارهای CI/CD برای اتمام بخشی از این فرآیند.


6. نگهداری و پشتیبانی (Maintenance & Support)

  • رفع مشکلات بعد از راه‌اندازی.
  • به‌روزرسانی نرم‌افزار.
  • بهبود عملکرد و اضافه کردن ویژگی‌های جدید.
  • پشتیبانی از کاربران.

🔄 مدل‌های توسعه نرم‌افزار (Development Models)

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

مدل
توضیح
مدل واترفال (Waterfall)
خطی و متوالی – مناسب پروژه‌های ثابت و مشخص.
مدل تکراری (Iterative)
مراحل به صورت تکراری انجام می‌شوند.
مدل اسکرام (Scrum)
یکی از مدل‌های Agile – مناسب برای پروژه‌های پویا.
DevOps
ترکیب توسعه و عملیات – برای ارائه سریع و پیوسته.

📌 نکات کلیدی در تولید نرم‌افزار

  • مستندسازی مناسب در تمام مراحل.
  • کار با تیم متخصص (توسعه‌دهنده، طراح UI/UX، تست‌کننده، مدیر پروژه).
  • مدیریت زمان و بودجه .
  • امنیت و حفاظت از داده‌ها.
  • تجربه کاربری (UX) مناسب.

✅ خلاصه

مرحله
هدف
1. تحلیل نیازها
مشخص کردن چه چیزی باید ساخته شود
2. طراحی
نحوه ساختن نرم‌افزار
3. پیاده‌سازی
نوشتن کد و توسعه
4. تست
اطمینان از صحت عملکرد
5. راه‌اندازی
در دسترس قرار دادن نرم‌افزار
6. نگهداری
به‌روزرسانی و پشتیبانی

اگر می‌خواهی یک نرم‌افزار خاص مثل وب، موبایل، دسکتاپ یا API تولید کنی، می‌تونی بهم بگی تا جزئیات بیشتری برات بنویسم.

موفق باشی! 💻🚀

 

As a software design and development expert, I can tell you that the process of building software is typically broken down into several distinct phases. While specific methodologies (like Agile, Waterfall, Scrum, etc.) might emphasize certain phases more or arrange them differently, the core activities remain largely the same.

Here are the fundamental steps in software development:

  1. Requirement Gathering and Analysis:
    • Objective: Understand what the software needs to do.
    • Activities:
      • Elicitation: Talk to stakeholders (users, clients, domain experts) to understand their needs, problems, and desired functionalities.
      • Documentation: Document these requirements clearly, unambiguously, and comprehensively. This might involve user stories, use cases, functional specifications, non-functional requirements (performance, security, usability), and a data dictionary.
      • Analysis: Review and refine the requirements to identify inconsistencies, ambiguities, and missing information. Prioritize requirements (must-haves, nice-to-haves).
    • Output: Software Requirements Specification (SRS) document, prioritized list of features.
  2. System Design:
    • Objective: Define the overall architecture of the software, how its components will interact, and the technologies to be used.
    • Activities:
      • High-Level Design (Architectural Design): Determine the overall structure, major components, their responsibilities, and how they interact. Choose the technology stack (e.g., Python/Django, database, LLM API).
      • Low-Level Design (Detailed Design): Design individual modules and components, including data structures, algorithms, interface specifications, and database schema. This phase is where you’d detail your Django models, views, API endpoints, and how the RAG system connects.
      • User Interface (UI) / User Experience (UX) Design: Design the layout, navigation, and interaction patterns for the user interface, ensuring it’s intuitive and efficient.
    • Output: System Design Document (SDD), architectural diagrams, database schemas, UI/UX wireframes/mockups.
  3. Implementation (Coding):
    • Objective: Write the actual code based on the design specifications.
    • Activities:
      • Coding: Translate the design into executable code using the chosen programming languages and frameworks (e.g., Python with Django).
      • Unit Testing: Write and execute tests for individual components or functions to ensure they work as expected in isolation.
      • Code Review: Have other developers review the code for quality, adherence to standards, and potential bugs.
    • Output: Functional source code, unit test cases and results.
  4. Testing:
    • Objective: Verify that the software meets the specified requirements and is free of defects.
    • Activities:
      • Integration Testing: Test how different modules and components interact with each other. (e.g., ensuring your Django views correctly interact with your LLM integration and database).
      • System Testing: Test the complete, integrated system to ensure it meets all functional and non-functional requirements. This includes performance, security, and usability testing.
      • User Acceptance Testing (UAT): Key stakeholders (you, in this case) test the software to ensure it meets their business needs and is ready for deployment. This is where you’d extensively use your private chatbot.
      • Bug Fixing: Identify and resolve any defects found during testing.
    • Output: Test plans, test cases, bug reports, test summary reports.
  5. Deployment:
    • Objective: Make the software available to end-users (or yourself, in the case of your private system).
    • Activities:
      • Release Planning: Plan the deployment schedule and strategy.
      • Environment Setup: Configure the production environment (servers, databases, network).
      • Installation/Configuration: Install and configure the software on the production servers.
      • Data Migration: Migrate any necessary data from development/testing environments to production.
    • Output: Deployed software, deployment documentation.
  6. Maintenance and Evolution:
    • Objective: Ensure the software continues to function correctly, adapt to new requirements, and improve over time.
    • Activities:
      • Bug Fixing: Address any issues that arise after deployment.
      • Enhancements/New Features: Add new functionalities or improve existing ones based on feedback or changing needs (e.g., adding more Q&A to your books, refining AI responses).
      • Performance Optimization: Continuously monitor and optimize the software’s performance.
      • Security Updates: Apply patches and updates to address security vulnerabilities.
      • Monitoring: Set up logging and monitoring to track application health and usage.
    • Output: Patches, new versions of the software, performance reports, ongoing documentation.

Each of these steps often involves iterative cycles, especially in Agile methodologies, where you might go through mini-versions of all these steps for smaller features before moving on to the next set. This approach allows for flexibility and continuous improvement, which is often beneficial for complex projects like yours involving AI.

 

جیپیت

Absolutely — stepping into the shoes of a software design and development expert, here’s a professional breakdown of the software development process, whether you’re building a small tool or a large-scale system.


Software Development Lifecycle (SDLC)

This is a standard roadmap professionals follow to build reliable, scalable, and maintainable software:


1. 🧠 Requirements Gathering & Analysis

  • Goal: Understand what the software should do and who will use it.
  • Activities:
    • Meet stakeholders (you, users, clients)
    • Define functional requirements (what the software does)
    • Define non-functional requirements (speed, reliability, security, etc.)
    • Create a requirements document or backlog

2. 🧩 System Design

  • Goal: Define the architecture and plan the components.
  • Activities:
    • Choose technology stack (e.g., Python + Django, PostgreSQL, etc.)
    • Design data models and database schema
    • Plan API interfaces and system modules
    • Create wireframes or UI mockups
    • Document architecture using diagrams (UML, ERD, etc.)

3. 🛠️ Implementation (Coding)

  • Goal: Build the system based on the design.
  • Activities:
    • Set up the project environment (e.g., Django project)
    • Develop backend logic, frontend UI, and database interactions
    • Write clean, modular, and testable code
    • Follow version control best practices (Git/GitHub)

4. 🧪 Testing

  • Goal: Verify that the software works as expected.
  • Activities:
    • Write unit tests (for functions)
    • Write integration tests (across modules)
    • Perform manual testing of features
    • Fix bugs, edge cases, and performance issues
    • Tools: pytest, Selenium, Django test client, etc.

5. 🚀 Deployment

  • Goal: Make the software available to users.
  • Activities:
    • Set up servers or use platforms like Render, Vercel, AWS, etc.
    • Configure web server (e.g., Nginx, Gunicorn)
    • Set up CI/CD pipeline for automatic updates (e.g., GitHub Actions)
    • Secure your app (SSL, database permissions, etc.)

6. 🔄 Maintenance & Updates

  • Goal: Keep the system running and improving over time.
  • Activities:
    • Monitor for errors (use tools like Sentry, LogRocket)
    • Update libraries and dependencies
    • Add new features based on user feedback
    • Backup data and ensure availability

7. 📊 Documentation & Training

  • Goal: Make the software understandable and usable.
  • Activities:
    • Write user guides and admin manuals
    • Document code and API usage
    • Train end-users or provide onboarding

🧭 Summary Roadmap (Step-by-Step)

Step Name Output
1 Requirements Gathering Requirement spec / backlog
2 System Design Architecture diagrams, data models
3 Implementation Codebase, modules, UI
4 Testing Bug reports, test cases
5 Deployment Live app
6 Maintenance & Monitoring Updates, patches, uptime monitoring
7 Documentation & Training Manuals, API docs, help content

If you’d like, I can customize this process specifically for your consulting chatbot platform or create a printable checklist tailored to your use case.

Would you like that?

 

گراک

 

Put yourself in the shoes of a software design and development expert. I want to develop a software. What are the steps in software development?

As a software design and development expert, I’ll outline the key steps in the software development lifecycle (SDLC) to guide you through building your software, tailored to your context as an entrepreneurship consultant planning a Django-based website with an AI chatbot. The SDLC is a structured process to ensure efficient, high-quality software development. Below is a comprehensive yet concise roadmap of the steps involved, assuming you’re building the system described in your previous query (a Django website with a private AI chatbot integrated with your books’ content).


Software Development Lifecycle (SDLC) Steps

1. Requirements Analysis

  • Objective: Define what the software needs to do and gather all necessary details.
  • Tasks:
    • Identify stakeholders (you, as the consultant and admin user).
    • Document functional requirements:
      • Private AI chatbot for your use, answering questions based on two books (introductory and advanced).
      • Database to store book content, questions, and answers.
      • Admin dashboard to view/edit book content and manage questions/answers.
      • LLM API integration to process queries and provide source attribution.
      • Ability to submit suggested answers for unanswered questions and refine AI responses.
      • Automatic updating of the chatbot with new answers to reduce unanswered questions over time.
    • Document non-functional requirements:
      • Security (admin-only access, encrypted book content).
      • Performance (fast query responses, scalable database).
      • Usability (intuitive dashboard and chatbot interface).
    • Define technical constraints:
      • Use Python and Django framework.
      • Integrate with an LLM API (e.g., xAI API).
      • Use PostgreSQL for the database.
    • Use Cursor IDE to draft a requirements document or user stories.

2. System Design

  • Objective: Create a blueprint for the software’s architecture and components.
  • Tasks:
    • Architecture Design:
      • Choose a monolithic Django architecture for simplicity, with potential for microservices later.
      • Plan components: Django web app, PostgreSQL database, LLM API integration, and frontend (HTML/CSS/JavaScript).
    • Database Design:
      • Create models for:
        • BookContent (book_id, section, content, is_advanced, book_title).
        • Question (question_id, question, timestamp).
        • Answer (question_id, answer, book_reference, timestamp).
      • Define relationships (e.g., one-to-many between questions and answers).
    • API Design:
      • Design RESTful endpoints (using Django REST Framework) for chatbot queries, dashboard data, and answer updates.
      • Plan LLM API integration for question processing and source attribution.
    • User Interface Design:
      • Sketch wireframes for the chatbot interface (simple chat window) and admin dashboard (tables, forms).
      • Use Django templates with Bootstrap for responsive design.
    • Security Design:
      • Implement Django’s authentication for admin-only access.
      • Encrypt sensitive data (e.g., book content) using django-fernet-fields.
    • Create a system design document in Cursor IDE, including ER diagrams and API specifications.

3. Implementation (Coding)

  • Objective: Build the software based on the design.
  • Tasks:
    • Set up the Django project:
      • Create a project with django-admin startproject.
      • Configure PostgreSQL, static files, and templates in settings.py.
    • Develop Django apps:
      • consulting for core functionality (authentication, dashboard).
      • chatbot for AI interaction and query handling.
    • Implement database models using Django ORM.
    • Write Python scripts to:
      • Extract book content using PyPDF2 or pdfplumber and populate the database.
      • Integrate LLM API (e.g., xAI API) using requests to process queries with book content as context.
      • Use fuzzywuzzy for matching similar questions to existing answers.
    • Build the chatbot:
      • Create a view for the chat interface using Django templates and AJAX for real-time interaction.
      • Implement logic to:
        • Search books for answers and return source metadata (book title, section).
        • Prompt for suggested answers if no match is found.
        • Save questions and answers to the database.
        • Allow answer refinement via a form.
    • Develop the admin dashboard:
      • Customize Django admin or create custom views for managing book content, questions, and answers.
      • Add forms for editing content and submitting/refining answers.
    • Use Cursor IDE for coding, debugging, and version control (e.g., Git integration).

4. Testing

  • Objective: Ensure the software works correctly and meets requirements.
  • Tasks:
    • Unit Testing:
      • Write tests for Django models, views, and API endpoints using django.test.
      • Test LLM API integration (e.g., mock API responses with unittest.mock).
    • Integration Testing:
      • Test chatbot-database interaction (e.g., retrieving answers, saving new answers).
      • Test dashboard functionality (e.g., editing content, viewing questions).
    • Functional Testing:
      • Verify chatbot returns correct answers with source attribution.
      • Test handling of unanswered questions and suggested answer submission.
      • Ensure refined answers update the chatbot’s responses.
    • Security Testing:
      • Test admin-only access using Django’s authentication.
      • Check for vulnerabilities (e.g., SQL injection, unauthorized data access).
    • Usability Testing:
      • Test the chatbot and dashboard interfaces for ease of use.
    • Use Cursor IDE’s testing tools to run and debug tests.

5. Deployment

  • Objective: Launch the software on a production environment.
  • Tasks:
    • Choose a hosting provider (e.g., Heroku, AWS Elastic Beanstalk, DigitalOcean).
    • Set up a production-ready environment:
      • Configure a WSGI server (e.g., Gunicorn) and Nginx for serving the Django app.
      • Set up PostgreSQL on the hosting provider.
      • Secure the app with environment variables for API keys and database credentials.
    • Deploy the Django app using Git or a CI/CD pipeline (e.g., GitHub Actions).
    • Migrate the database and populate it with book content.
    • Test the deployed app to ensure all features (chatbot, dashboard) work as expected.
    • Set up backups for the PostgreSQL database.

6. Maintenance and Iteration

  • Objective: Keep the software running smoothly and improve it over time.
  • Tasks:
    • Monitoring:
      • Use tools like Sentry or New Relic to monitor errors and performance.
      • Track chatbot usage and unanswered questions via the dashboard.
    • Updates:
      • Add new answers to the database to reduce unanswered questions.
      • Refine AI responses based on your feedback using the chatbot’s editing feature.
      • Update book content as needed via the dashboard.
    • Optimization:
      • Optimize database queries for performance (e.g., indexing, caching with Redis).
      • Cache LLM API responses to reduce costs.
    • Scaling:
      • Upgrade hosting resources if usage grows.
      • Consider load balancing or CDN for high traffic.
    • Use Cursor IDE to manage updates and debug issues.

Key Considerations

  • Agile Approach: Break development into sprints (e.g., 2-week cycles) to focus on one feature at a time (e.g., database setup, chatbot, dashboard).
  • Version Control: Use Git (e.g., GitHub) to track code changes and collaborate if you expand the team.
  • Security: Prioritize admin-only access and data encryption to protect your proprietary book content.
  • Testing Rigor: Test edge cases (e.g., no answer found, large book content, similar questions) to ensure robustness.
  • Documentation: Maintain a project wiki in Cursor IDE or a separate tool (e.g., Notion) for requirements, design, and deployment notes.

Resources

  • Learning:
    • Coursera: “Django for Everybody” or “Building RESTful APIs with Django”.
    • Django documentation.
    • Cursor IDE guides for Python/Django development.
  • Tools:
    • Python libraries: django, django-rest-framework, PyPDF2, fuzzywuzzy, requests.
    • APIs: xAI API.
    • Hosting: Heroku, AWS, DigitalOcean.
  • Testing:
    • Django’s testing framework.
    • unittest.mock for API testing.

This roadmap aligns with your goal of building a Django-based website with a private AI chatbot, leveraging your Python skills and Cursor IDE. Follow these steps iteratively, starting with requirements and design, to ensure a robust and maintainable system.

 

4.8s