TSTS09 / Inventory-Management-System

0 stars 0 forks source link

Sprint 1 delivrable #2

Open TSTS09 opened 7 months ago

TSTS09 commented 7 months ago

Requirement to be fulfilled:

A page on architecture detailing:

Specifics

The team will be able to do a demo of their first functional slice with running code that gives a sense of the value of the website. A successful initial sprint will have several pages and complete a story providing some useful function for the target user.

TiffanyDegbotse commented 7 months ago

Sven Functionalities:

  1. Inventory Tracking: Provides real-time visibility into the quantity and location of each item in stock.
  2. Order Management: Manages placing and fulfilling orders, including processing, picking, packing, and shipping.
  3. Stock Replenishment: Automatically generates reorder notifications or purchase orders when inventory levels fall below a predetermined threshold.
  4. Supplier Management: Keep track of information about suppliers, including contact details, lead times, and pricing. Facilitate communication with suppliers for order placement and status updates.
  5. Expiration Date Tracking: Monitor and alert for products with approaching expiration dates. Help pharmacies manage and reduce waste by identifying and handling expired products.
  6. Analytics and Reporting: Provide detailed analytics on sales trends, inventory turnover, and other key performance indicators. Generate customizable reports to assist in decision-making and strategic planning.
  7. Customer Relationship Management (CRM): Maintain customer profiles, purchase history, and preferences. Implement loyalty programs or promotions to enhance customer retention.
  8. Multi-Location Support: Enable pharmacies with multiple locations to manage inventory centrally while allowing for location-specific tracking. Facilitate inter-store transfers and stock balancing.
  9. Barcode Scanning and RFID Integration: Integrate with barcode scanning or RFID technologies for efficient tracking of products and inventory updates. Streamline processes such as receiving, restocking, and inventory counts.
  10. Integration with Point-of-Sale (POS) Systems: Seamlessly integrate with POS systems to streamline transaction processing and keep inventory data synchronized.
  11. Compliance Management: Ensure compliance with regulatory requirements related to pharmaceuticals. Support documentation and reporting for audits.
  12. Forecasting and Demand Planning: Utilize historical data and trends to predict future demand for products. Assist in optimizing inventory levels to prevent stockouts and overstock situations.
  13. Automated Alerts and Notifications: Set up customizable alerts for various events, such as low inventory levels, order fulfillment, or system errors. Keep stakeholders informed in real-time.
DD-NG commented 7 months ago

FUNCTIONALITIES

Product Management: Ability to add, edit, and delete products. Categorization of products based on type, brand, dosage, etc. Product expiry date tracking. Automatic generation of barcode or QR code for each product. Inventory Tracking:

Real-time tracking of inventory levels. Alerts for low stock levels or expiring products. Batch tracking to trace specific batches of products. Order Management:

Ability to create purchase orders. Integration with suppliers for automatic ordering or reordering. Order status tracking from placement to fulfillment. Receiving and verification of orders against invoices. Sales Management:

Recording sales transactions. Tracking sales history and trends. Integration with point-of-sale (POS) systems. Reporting and Analytics:

Generation of various reports such as inventory valuation, sales reports, and purchase history. Analytics for identifying fast-moving products, slow-moving products, etc. User Management:

Role-based access control to restrict access to sensitive information. User authentication and authorization mechanisms. Supplier Management:

Maintenance of supplier information. Performance tracking of suppliers. Customer Management:

Capture and management of customer information. Loyalty program integration for customer rewards. Alerts and Notifications:

Alerts for low stock, expired products, or abnormal inventory activity. Notifications for order status updates. Integration Capabilities:

Integration with accounting software for seamless financial management. Integration with electronic health record (EHR) systems for prescription management. Integration with pharmacy information systems (PIS) for holistic pharmacy management. Compliance and Regulation:

Compliance with regulatory requirements such as FDA regulations. Automatic updates for changes in regulations. Mobile Accessibility:

Access to the system via mobile devices for on-the-go management. Security Features:

Data encryption to ensure the security of sensitive information. Regular backups to prevent data loss. Audit trails for tracking changes made to inventory records. Scalability:

Ability to scale with the growth of the pharmacy, accommodating increased inventory volumes and user loads. User-Friendly Interface:

Intuitive interface for easy navigation and use by pharmacy staff with varying levels of technical expertise. Customer Support and Training:

Access to customer support for assistance and troubleshooting. Training resources for staff to effectively utilize the system.

asmai404 commented 7 months ago

Home Page:

Overview of the website and its primary features, such as inventory tracking, order management, and stock replenishment. Brief introduction to the purpose of the website and its benefits for users. Call-to-action buttons or links to encourage visitors to explore further or sign up.

Inventory Tracking: Inventory Overview: Provides a summary of current inventory levels and key metrics. Item Details: Individual pages for each item in stock, displaying information such as quantity, location, and any relevant details or specifications. Location Tracking: A page or section dedicated to tracking the location of items within the inventory. Order Management:

Order Placement: Allows customers to place orders through the website, providing necessary details such as item quantities, shipping address, and payment information. Order Status: Enables customers to track the status of their orders, from processing to delivery. Order History: Displays a list of past orders for logged-in customers, including order details and status updates. Stock Replenishment:

Reorder Notifications: A section where staff members can receive notifications or alerts when inventory levels fall below a predetermined threshold. Purchase Orders: Allows staff members to generate purchase orders for replenishing low-stock items, including relevant details such as item quantities and supplier information.

About Us:

Information about the company or organization behind the website, including its mission, values, and history. Details about the team members or key personnel involved in the project. Contact Us:

Contact Form: Allows visitors to send inquiries or support requests directly through the website. Contact Information: Provides alternative contact methods such as email address, phone number, and physical address. FAQs (Frequently Asked Questions):

Answers to common questions about the website's features, services, and policies. Helps users find quick solutions to their queries without needing to contact support. User Account/Profile:

Registration/Login: Enables users to create an account or log in to an existing one. Profile Management: Allows users to update their personal information, view order history, and manage preferences.

Admin Dashboard Provides access to administrative tools for managing inventory, orders, users, and settings. Features may include adding/editing items, processing orders, generating reports, and configuring system settings.

TiffanyDegbotse commented 7 months ago

Pages

Home Page: Overview of the system's capabilities and benefits. Quick access to key features and recent updates. Announcements or news relevant to pharmacy operations.

Inventory tracking page: Centralized visual representation of critical metrics and KPIs. Real-time snapshots of inventory status, and stocks

Inventory Management page: Product catalog with details like name, description, price, and quantity on hand. Ability to add, edit, and remove products. Search and filter options for efficient product discovery.

Reports and Analytics:(tentative) Detailed reports on sales, inventory turnover, and other relevant metrics. Graphical representations of trends and historical data. Customizable reporting options.

Barcode Scanning and RFID Integration(Optional)(If we can dataset with barcodes for verification) Tools for utilizing barcode scanning or RFID technology. Integration options for efficient tracking and updates.

User Profile and Settings: Personalized user profiles for different roles (admin, staff, etc.). Settings for customizing preferences and access permissions.

Help and Support: FAQs, tutorials, and documentation for users. Contact information for customer support.

Notifications and Alerts(Page) Pop to fill information when stock is low (stock replenishing)

Login and Authentication: Secure login page with authentication mechanisms. Password recovery and account management features.

About Us / Contact Page: Information about SVEN, the development team, and the purpose of the website. Contact details for inquiries or support.

TSTS09 commented 7 months ago

What are the major tables or PHP functions implemented or envisioned to support the pages?

TiffanyDegbotse commented 7 months ago

Products Table:

product_id, name, description, price, quantity_on_hand, etc. Orders Table:

order_id, customer_id, order_date, status, etc. Order Items Table:

order_item_id, order_id, product_id, quantity, unit_price, etc. Suppliers Table:

supplier_id, name, contact_person, contact_number, etc. Stock Replenishment Table:

replenishment_id, product_id, replenishment_date, quantity, etc. Customers Table:

customer_id, name, email, phone, loyalty_points, etc. User Roles and Permissions Table:

user_id, username, password, role, permissions, etc. Multi-Location Support Table:

location_id, product_id, quantity_on_hand, etc. Barcode Scanning and RFID Table:

scan_id, product_id, scan_date, quantity_scanned, etc. Alerts and Notifications Table:

alert_id, user_id, message, timestamp, etc. PHP Functions: Inventory Management Functions:

addProduct($data): Add a new product to the inventory. editProduct($product_id, $data): Edit product details. deleteProduct($product_id): Delete a product from the inventory. Order Management Functions:

createOrder($customer_id, $items): Create a new order. cancelOrder($order_id): Cancel an existing order. processOrder($order_id): Mark an order as processed. Stock Replenishment Functions:

generateReplenishment($product_id, $quantity): Generate a stock replenishment. processReplenishment($replenishment_id): Process a replenishment. Reporting and Analytics Functions:

generateSalesReport($start_date, $end_date): Generate sales reports. generateInventoryReport(): Generate inventory reports. Customer Management Functions:

addCustomer($data): Add a new customer to the system. editCustomer($customer_id, $data): Edit customer details. Supplier Management Functions:

addSupplier($data): Add a new supplier to the system. editSupplier($supplier_id, $data): Edit supplier details. User Management Functions:

createUser($data): Create a new user account. editUser($user_id, $data): Edit user details. deleteUser($user_id): Delete a user account. Authentication Functions:

login($username, $password): Authenticate a user. logout(): Log out the current user. Notification Functions:

sendNotification($user_id, $message): Send a notification to a user. generateAlert($user_id, $message): Generate an alert for a user. Multi-Location Support Functions:

transferStock($from_location, $to_location, $product_id, $quantity): Transfer stock between locations.

DD-NG commented 7 months ago

Database Tables: Products Table:

Fields: Product ID, Name, Description, Category, Brand, Dosage, Expiry Date, Quantity, Cost Price, Selling Price, Barcode, Supplier ID, etc. Inventory Transactions Table:

Fields: Transaction ID, Product ID, Transaction Type (e.g., Purchase, Sale, Adjustment), Quantity, Transaction Date, Batch Number, Expiry Date, Supplier ID, etc. Orders Table:

Fields: Order ID, Supplier ID, Order Date, Expected Delivery Date, Status, Total Amount, etc. Order Details Table:

Fields: Order Detail ID, Order ID, Product ID, Quantity, Unit Price, Subtotal, etc. Sales Table:

Fields: Sale ID, Product ID, Quantity Sold, Sale Date, Customer ID, Total Amount, Payment Method, etc. Users Table:

Fields: User ID, Username, Password (hashed), Email, Role, etc. Suppliers Table:

Fields: Supplier ID, Name, Contact Information, Address, etc. Customers Table:

Fields: Customer ID, Name, Contact Information, Address, Loyalty Points, etc. PHP Functions: Product Management Functions:

AddProduct() EditProduct() DeleteProduct() GetProductDetails() GetProductsByCategory() UpdateProductQuantity() GenerateBarcode() Inventory Management Functions:

UpdateInventory() AddTransaction() GetInventoryStatus() TrackExpiryProducts() AlertLowStock() Order Management Functions:

CreateOrder() AddOrderDetails() UpdateOrderStatus() ReceiveOrder() VerifyOrder() Sales Management Functions:

RecordSale() CalculateTotalSales() GetSalesReport() GetSalesByProduct() GetSalesByDateRange() User Management Functions:

AuthenticateUser() AuthorizeUser() CreateUser() UpdateUser() DeleteUser() Supplier Management Functions:

AddSupplier() EditSupplier() DeleteSupplier() GetSupplierDetails() GetSuppliersList() Customer Management Functions:

AddCustomer() EditCustomer() DeleteCustomer() GetCustomerDetails() UpdateCustomerLoyaltyPoints() Reporting and Analytics Functions:

GenerateInventoryReport() GenerateSalesReport() GeneratePurchaseReport() GenerateProfitReport() AnalyzeSalesTrends() Security Functions:

HashPassword() ValidateUserPermissions() EncryptSensitiveData() Integration Functions:

IntegrateWithPOS() IntegrateWithEHR() IntegrateWithAccountingSoftware()

TSTS09 commented 7 months ago

Front-end CSS libraries: Tailwind CSS and Bootstrap HTML Javascript framework: JQuery, Vue or ReactJS Other front-end libraries: API integrations(Shadcn)

Backend: Libraries: Django, Flask,

TSTS09 commented 7 months ago

Three meetings a week: A 1-hour max

Tuesday: 9pm Thursday: 7pm Saturday: 10am

TSTS09 commented 7 months ago
TSTS09 commented 7 months ago

Stock Replenishment(Fucntionality) Automated reorder notifications or purchase order generation. Visibility into low-stock and out-of-stock items. When low-stock, pop up appears asking if the product need to be repleeinished and if yes the quantity to be ordered is precise. When all information send an automated message for repleneshing to supplier after fetching contact information from the DB Supplier Management(Tables) Supplier information, contact details, and transaction history. Tools for placing and tracking orders with suppliers.

Multi-Location Support(Tables) Management of inventory across multiple pharmacy locations. Inter-store transfers and stock balancing features.

asmai404 commented 7 months ago

Question What are the major tables or PHP functions implemented or envisioned to support the pages? Inventory Table: Fields: Product ID, Product Name, Quantity Available, Reorder Level, Unit Price, Supplier Details, Expiry Date, etc. Purpose: Stores detailed information about each product in the pharmacy's inventory. Sales Table: Purpose: Tracks the sales transactions, helping in monitoring product movement. Purchase Table: Fields: Purchase ID, Product ID, Quantity Purchased, Supplier Details, Date and Time, Total Cost, etc. Purpose: Records information about product purchases, assisting in managing stock levels. User Table: Purpose: Manages user authentication and authorization for secure access.

Question Functions: Inventory Management Functions: Add Product: Allows the addition of new products to the inventory. Update Product: Enables the modification of product details such as quantity, price, and reorder level. Remove Product: Permits the removal of products from the inventory. User Management Functions: Add User: Allows the creation of new users (admin or staff) for system access. Update User: Permits modifications to user details. Remove User: Allows the removal of user accounts.

Martha-Agyeman commented 7 months ago

Concerning the database schema design, there are a number of potential problems with the tables I have identified (normalization, overlap of data, redundant tables). Might be a lack of understanding of the specific functions of the defined tables in the draft.

The stock replenishment, inventory seem to have the same function. The barcode scanning and RIFD should be a part of the product table as they are the unique identifiers of the table. The alerts and notifications table should be a query or a function, but cannot be an independent table. The multilocation support may be a problemt to implement at this stage, will try and research on how to work around ut

TSTS09 commented 7 months ago

Asamawu Home Page Inventory tracking page User Profile

Daniel Reports and Analytics Inventory Management page Help and Support / FAQ

Thierry Notifications and Alerts(Page) Login and Register About Us / Contact Page: Settings

Optional Barcode Scanning and RFID Integration(Optional)(If we can dataset with barcodes for verification)

templates action

By Sunday