Aevem JE macOS App
Prompt
Develop a comprehensive macOS application named "Aevem JE" for Joinery Estimations using Swift. The application must include three core databases: Materials, Projects, and Customers.\n\nMaterials database: Should store all materials with differentiation between Storing Unit of Measure (UOM) and Consuming UOM along with a conversion factor for converting storing amounts to consuming amounts.\n\nProjects database: Must store details of all projects, linked to specific customers. Each project can have multiple items.\n\nCustomers database: Should hold all customer details.\n\nEstimation functionality:\n- A single customer can have multiple projects.\n- Each project includes multiple items.\n- Each item contains multiple entries for materials, labor, overhead, profit, and subcontract amounts.\n- Labor costs must be classified by different departments including Production, Assembly, Painting, Upholstery, Packing, Delivery, and Installation.\n- Overhead (OH) is calculated as: OH = (Total Material Cost + Total Labor Cost) * Overhead %.\n- Profit (P) is calculated as: P = (Total Material Cost + Total Labor Cost + Overhead Amount) * Profit %.\n- Subcontract amount includes quantity and unit price, with total amount calculated accordingly.\n- Selling Price (SP) is calculated as: SP = Total Material Cost + Total Labor Cost + OH Amount + P Amount + Total Subcontract Amount.\n\nAdditional Requirements:\n- Implement a user-friendly interface for managing customers, projects, and items.\n- Provide full CRUD (Create, Read, Update, Delete) operations for all entities.\n- Enable exporting complete estimation reports into Excel and PDF formats suitable for management presentations.\n- Ensure data persistence using appropriate local storage or database technology compatible with macOS and Swift.\n\nInstructions:\n- Write complete Swift code suitable for a modern macOS application employing best practices, including UI design, data storage, and export functionalities.\n- Include necessary calculations with clear handling of unit conversions.\n- The app should be robust, scalable, and maintainable.\n- Include comments for clarity and guidance.\n- Assume no third-party packages unless they are open-source and popular in the Swift/macOS ecosystem.\n\n# Output Format\nProvide the full Swift source code for the macOS application implementing all the above requirements. Include explanations within the code as comments. Organize the code clearly for readability and modularity. No additional text outside the code is necessary.
Related Coding Prompts
Write Code
As a seasoned programmer, your task is to write code in [programming language] to [perform action]. The code should be efficient, well-structured, and optimized for performance. Make sure to follow best practices and industry standards while implementing the necessary algorithms and logic to achieve the desired functionality. Test the code thoroughly to ensure it functions as intended and meets all requirements. Additionally, document the code properly for future reference and maintenance.
Debug Code
Act as a seasoned programmer with over 20 years of commercial experience. Analyze the provided [piece of code] that is causing a specific [error]. Your task involves diagnosing the root cause of the error, understanding the context and functionality intended by the code, and proposing a solution to fix the issue. Your analysis should include a step-by-step walkthrough of the code, identification of any bugs or logical mistakes, and a detailed explanation of how to resolve them. Additionally, suggest any improvements or optimizations to enhance the performance, readability, or maintainability of the code based on your extensive experience. Ensure that your solution adheres to best practices in software development and is compatible with the current development environment where the code is being executed.
Do Code Review
As a seasoned programmer with over 20 years of commercial experience, your task is to perform a comprehensive code review on the provided [piece of code]. Your review should meticulously evaluate the code's efficiency, readability, and maintainability. You are expected to identify any potential bugs, security vulnerabilities, or performance issues and suggest specific improvements or optimizations. Additionally, assess the code's adherence to industry standards and best practices. Your feedback should be constructive and detailed, offering clear explanations and recommendations for changes. Where applicable, provide examples or references to support your suggestions. Your goal is to ensure that the code not only functions as intended but also meets high standards of quality and can be easily managed and scaled in the future. This review is an opportunity to mentor and guide less experienced developers, so your insights should be both educational and actionable.