Deliverable 1 - AlysonHenao/Akima GitHub Wiki
Table of Contents
1. Introduction
1.1. Product perspective
System Context
Akima is being developed as a digital application that integrates with commercial management for a venture dedicated to the sale of crocheted products. Currently, most of the business processes (sales, orders, inventory, and customer communication) are carried out manually and through social networks such as Instagram and WhatsApp, which generates rework, operational errors, and a high administrative burden. The system is a technological solution that allows for the centralization, automation, and organization of key business processes, facilitating internal administration and improving the customer shopping experience.
Relationship with Other Systems
The Akima system has other systems and tools that support its functionality, including:
-
Social media:
Akima uses these networks as channels for promotion and customer contact. Akima centralizes information that was previously managed manually by these means, but does not replace them as marketing channels. -
Payment System: The system allows for the management and verification of payments via transfers or other external means, recording receipts and payment statuses.
-
Product Scope: The Akima system will develop a digital platform that allows for the centralization and automation of the main processes of the venture, including sales management, orders, and inventory.The system will offer a control panel for general business administration, facilitating the registration, updating, and removal of products, the control of inventory entries and exits, and the tracking of order status. It will also allow for the management of internal users such as owners and employees, as well as customer access to a product catalog with detailed information, the creation of orders using a shopping cart, and the ability to check the status of their purchases. It will also include features for managing and verifying payments through receipt registration.
1.2. Product functions
The Akima system will be a web-based e-commerce platform designed to support the sale, production, and delivery management of handmade crochet products. The system integrates commercial, operational, and manufacturing processes into a single platform. Its main product functions are described below.
Product Catalog and Browsing: The system allows customers to view a digital catalog of crochet products available for sale. Products are organized by categories and include detailed information such as descriptions, colors, sizes, and other relevant attributes. Customers can search and filter products to easily find items of interest.
Product Customization: Akima enables customers to customize certain products before purchase by selecting available options such as size and color, ensuring that handmade items meet customer preferences.
Shopping Cart and Order Management: The system provides a shopping cart that allows customers to add customized or standard products before completing a purchase. Customers can place orders, receive order confirmations, and consult the status of their orders at any time.
Payment Management: Akima supports payment handling through the upload of proof of payment by customers. The Owners review and confirm payments. Once confirmed, the system updates the order information and notifies the customer accordingly.
User Account Management: The platform allows users to register, log in, and manage their personal account information. The system supports three user roles: Customers, Employees, and Owners, each with specific permissions and access levels.
System Management by Owners: The Owners manage the product catalog by creating, editing, and deleting products. They oversee orders, access customer information related to specific orders, assign permissions to users, record financial transactions, and manage manufacturing processes associated with products.
Production and Manufacturing Management: The system supports internal production processes. Employees can view assigned products, receive notifications of new assignments, consult manufacturing information, and record supply usage and leftover materials. The system maintains inventory records related to the production of crochet items and allows products manufactured outside a specific sale to be registered as available stock.
Inventory Management: Akima includes inventory control features for both finished products and supplies used in manufacturing. Employees and Owners can update stock levels and track materials associated with product preparation.
Order Fulfillment and Delivery Tracking: Employees and Owners can update order statuses during preparation, shipping, and completion stages. Customers can monitor the progress of their orders through system status updates.
Communication and Notifications: The system provides communication channels for customers to contact the business. It also generates notifications for key events such as new orders, order assignments, payment uploads, and order confirmations.
Financial Management: Akima allows Owners to record and manage financial transactions related to orders and payments, supporting the overall financial control of the business.
1.3 User Characteristics
The Akima system will be used by three main groups: Customers, Employees, and Administrators. Each group has different responsibilities and levels of system interaction.
Customers
- Customers access the web platform to browse products, customize them, place orders, upload payment proofs, and check order status. They are expected to have basic knowledge of using web browsers and navigating websites. No advanced technical skills are required. The interface must be simple, clear, and easy to use.
Employees
- Employees use the system to view assigned products, record manufacturing information, and manage supply quantities. They are expected to have basic computer skills and experience using web applications. The system should provide clear sections and simple data-entry processes.
Administrators
- Administrators manage products, orders, payments, roles, and users. They are expected to have moderate experience using web-based management systems, but no programming knowledge is required. The system must provide organized access to administrative functions and secure authentication.
General Characteristics
- The system will be accessed exclusively through a web browser. Users require basic computer skills and internet access. No specialized hardware or advanced technical knowledge is required.
1.4. Limitations
The Akima system is developed as an academic project and is therefore constrained by deadlines, limited technical resources, and a scope mainly focused on essential functionalities. In addition, it is conceived as a functional prototype rather than a definitive commercial solution.
From a technological perspective, the system uses Python and the Django framework, with SQLite as the database engine, which influences architectural decisions and may restrict integration with external enterprise services or high-performance environments.
Furthermore, the payment process relies on manual verification through the upload of proof of payment by the customer, meaning that order confirmation is not automatic and may cause delays. Finally, the system is designed to support a small handmade crochet business, so its architecture is oriented toward small to medium operational volumes rather than large-scale enterprise operations.
2. Specific requirements
2.1. Functions
| ID | Requirement |
|---|---|
| RF-01 | WHILE the customer is on the home page THE Akima system SHALL display THE product catalog within 5 seconds. |
| RF-02 | THE Akima system SHOULD PROVIDE the customer WITH THE ABILITY TO search products in the catalog displaying THE corresponding results within 3 seconds. |
| RF-03 | THE Akima system COULD PROVIDE the customer WITH THE ABILITY TO filter products from the catalog displaying THE products that match the selected criteria. |
| RF-04 | IF the customer selects a product from the catalog, THEN THE Akima system SHALL display THE detailed information about the selected product (Available colors,patterns, estimated production time, and/or available stock ) within 2 seconds. |
| RF-05 | THE Akima system SHALL PROVIDE the customer WITH THE ABILITY TO customize A product by selecting size and color within 2 seconds. |
| RF-06 | AFTER the customer customized a product THE Akima system SHALL PROVIDE the customer WITH THE ABILITY TO add THE product to the shopping cart within 3 seconds. |
| RF-07 | THE Akima system SHALL PROVIDE the customer WITH THE ABILITY TO place AN order IF AND ONLY IF at least one product has been added to the cart within 5 seconds. |
| RF-08 | AFTER the customer places an order THE Akima system SHALL display THE payment methods within 2 seconds. |
| RF-09 | AFTER the customer places an order THE Akima system SHALL PROVIDE the customer WITH THE ABILITY TO upload A proof of payment within 5 seconds. |
| RF-10 | AFTER the administrator confirms payment THE Akima system SHOULD notify THE customer of the order confirmation within 5 seconds. |
| RF-11 | THE Akima system SHALL PROVIDE the customer WITH THE ABILITY TO check THE status of their orders by displaying the updated status correctly ( Payment under review,Payment confirmed, In production, Completed, Delivering, Delivered). |
| RF-12 | THE Akima system COULD PROVIDE all users WITH THE ABILITY to register on THE platform within 5 seconds. |
| RF-13 | IF the user enters correct credentials THEN THE Akima system COULD allow THE user to log in to THE platform within 5 seconds. |
| RF-14 | THE Akima system COULD PROVIDE all users WITH THE ABILITY TO edit THE personal account information within 5 seconds. |
| RF-15 | WHILE the customer is on the home page THE Akima system SHOULD display THE available communication channels (Whatsapp, Instagram, Mail) within 3 seconds. |
| RF-16 | THE Akima system COULD PROVIDE the employee WITH THE ABILITY to add THE supplies and their quantities to the employee’s personal inventory within 5 seconds. |
| RF-17 | WHILE the employee is in the order module THE Akima system SHALL display THE list of assigned products and their details (Colors, patterns, and size) within 3 seconds. |
| RF-18 | IF the employee is assigned a new product THEN THE Akima system SHALL notify THE employee within 2 seconds. |
| RF-19 | AS SOON AS the employee starts the manufacturing process of a product THE Akima system COULD PROVIDE the employee WITH THE ABILITY TO record THE initial quantity of each supply to be used within 5 seconds. |
| RF-20 | AFTER completing the manufacture of a product THE Akima system COULD PROVIDE the employee WITH THE ABILITY to record THE quantity of leftover supplies within 2 seconds. |
| RF-21 | AFTER the employee records the quantity of leftover supplies for a product THE Akima system COULD update THE employee’s personal inventory within 3 seconds. |
| RF-22 | IF the employee manufactures a product not associated with a sale THEN THE Akima system COULD register THE product as available stock within 5 seconds. |
| RF-23 | THE Akima system COULD PROVIDE the employee WITH THE ABILITY TO consult THE manufacturing information of a product within 5 seconds. |
| RF-24 | THE Akima system COULD PROVIDE the administrator WITH THE ABILITY to assign roles to users within 3 seconds. |
| RF-25 | THE Akima system SHALL PROVIDE the administrator WITH THE ABILITY to assign products to employees within 3 seconds. |
| RF-26 | IF a customer uploads a proof of payment THEN THE Akima system SHALL notify THE administrator within 2 seconds. |
| RF-27 | AFTER a customer uploads a proof of payment THE Akima system SHALL PROVIDE the administrator WITH THE ABILITY TO confirm THE payment within 5 seconds. |
| RF-28 | THE Akima system SHALL provide the administrator WITH THE ABILITY TO create products in the catalog within 3 seconds. |
| RF-29 | THE Akima system SHALL provide the administrator WITH THE ABILITY TO edit products in the catalog within 3 seconds. |
| RF-30 | IF the administrator selects an order THEN THE Akima system SHALL show THE complete order and customer information within 3 seconds. |
| RF-31 | THE Akima system SHOULD PROVIDE the administrator WITH THE ABILITY TO view THE employee information within 5 seconds. |
| RF-32 | THE Akima system COULD PROVIDE the administrator WITH THE ABILITY TO manually record financial transactions within 3 seconds. |
| RF-33 | THE Akima system COULD PROVIDE the administrator WITH THE ABILITY TO edit financial transactions manually within 3 seconds. |
| RF-34 | THE Akima system SHOULD PROVIDE the administrator WITH THE ABILITY TO add THE manufacturing process related to a product within 5 seconds. |
| RF-35 | THE Akima system SHOULD PROVIDE the administrator WITH THE ABILITY TO edit THE manufacturing process related to a product within 5 seconds. |
| RF-36 | THE Akima system SHALL PROVIDE the administrator and the employee WITH THE ABILITY TO modify THE status of an order manually within 3 seconds. |
2.2. Usability requirements
| ID | Requirement |
|---|---|
| UR-01 | If a technical or validation error occurs, THEN the Akima System COULD display a clear, non-technical message explaining the issue and suggesting the next step (e.g., “Invalid password” or “Add at least one product to continue”). Messages should appear within 1 second and remain visible for at least 3 seconds. |
| UR-02 | THE Akima System SHOULD PROVIDE AN intuitive and logically structured interface that allow users to navigate the product catalog, shopping cart, and orders easily. |
| UR-03 | THE Akima System SHOULD maintain visual consistency (layout, typography, buttons, spacing, and color palette) across all modules (catalog, cart, orders, inventory, and administration) using a unified web style guide. |
| UR-04 | THE Akima System COULD ensure responsive performance under normal load conditions. Main pages (login, catalog, dashboard, and orders) that load within 3 seconds using a standard internet connection. |
| UR-05 | THE Akima System COULD provide confirmation for critical actions (e.g., deleting products or canceling orders). |
2.3. Logical database requirements
| ID | Requirement |
|---|---|
| LDR-01 | A Usuario has id, email, contraseña, rol, nombre, apellido, telefono, direccion, and ciudad. |
| LDR-02 | rol in Usuario must be one of: "Administrador", "Empleado", "Cliente". |
| LDR-03 | A Pedido has id, id_usuario (FK), fecha_pedido, subtotal, descuento, total, estado, and nota_cliente. |
| LDR-04 | estado in Pedido must be one of: "Pendiente confirmación", "Confirmado", "En producción", "Completado", "Cancelado", "Enviado", "Entregado". |
| LDR-05 | A Comprobante_pago has id, id_pedido (FK), id_metodo_pago (FK), archivo_url, monto, fecha_subida, confirmado, and fecha_confirmacion. |
| LDR-06 | A Metodo_pago has id, nombre, instrucciones, and activo. |
| LDR-07 | A Pedido_detalle has id, id_pedido (FK), id_producto (FK), id_producto_color (FK), talla, cantidad, precio_unitario, and subtotal. |
| LDR-08 | talla in Pedido_detalle must be one of: "XS", "S", "M", "L", "XL", "XXL", "Única". |
| LDR-09 | A Producto has id, categoria, nombre, descripcion, precio, stock, tiempo_fabricacion, activo, guia_fabricacion, and guia_tallas. |
| LDR-10 | A Producto_color has id, id_producto (FK), id_color_general (FK), and disponible. |
| LDR-11 | A Color_general has id and nombre. |
| LDR-12 | An Insumo has id, tipo, marca, referencia, color, id_color_general (FK), codigo_hex, cantidad, and precio. |
| LDR-13 | A Producto_color_insumo has id, id_producto_color (FK), id_insumo (FK), and cantidad_necesaria. |
| LDR-14 | A Producto_imagen has id, id_producto (FK), and url_imagen. |
| LDR-15 | An Inventario_empleado has id, id_usuario (FK), id_insumo (FK), cantidad_disponible, and ultima_actualizacion. |
| LDR-16 | A Tarea_insumo has id, id_tarea (FK), id_insumo (FK), cantidad_inicial, and cantidad_sobrante. |
| LDR-17 | A Tarea_produccion has id, id_detalle_pedido (FK), id_usuario (FK), fecha_asignacion, fecha_inicio, fecha_finalizacion, estado, id_producto (FK), and especificacion. |
| LDR-18 | estado in Tarea_produccion must be one of: "Pendiente", "En proceso", "Completada", "Pausada", "Cancelada". |
| LDR-19 | A Set_producto has id, id_producto_set (FK), id_producto_individual (FK), cantidad, and precio_set. |
| LDR-20 | A Movimiento_financiero has id, categoria, tipo, concepto, monto, fecha_movimiento, id_pedido (FK), id_usuario (FK), comprobante_url, and notas. |
| LDR-21 | tipo in Movimiento_financiero must be one of: "Ingreso", "Egreso". |
| LDR-22 | categoria in Movimiento_financiero must be one of: "Venta", "Compra insumos", "Pago empleado", "Gastos operativos", "Otros ingresos", "Otros egresos". |
2.4. Constraints
Constraints are requirements that limit the design and implementation options of the Akima system by imposing fixed boundaries and conditions.
The system shall be developed exclusively as a web-based application accessible through standard desktop and mobile web browsers. The development of native mobile applications is outside the scope of this project. The system shall require an active internet connection for all core functionalities.
The system design shall comply with the response time limitations defined in Section 2.2, ensuring that performance does not degrade below the specified thresholds.
The system shall implement role-based access control, restricting functionalities according to the defined user roles (Owner, Employee, Customer). All users shall be required to authenticate before accessing restricted system features.
The system shall enforce non-overridable business rules, including the restriction that orders cannot be placed without at least one product in the shopping cart, orders cannot be confirmed without a payment receipt upload, and order status transitions must follow the predefined workflow.
Customer data, order information, and financial records shall be stored securely and accessible only to authorized users. The system scope shall be strictly limited to the functionalities defined in the approved requirements specification.