π Excited to share my Final Year Project for my BIT degree at the University of Moratuwa!
π‘ **Problem**: Small businesses struggle to digitize sales—they rely on WhatsApp, notebooks, and manual pricing.
π ️ **Solution**: A lightweight, web-based **POS + Inventory Management System** built specifically for small resellers and online sellers like me!
✅ Key Features:
- Auto-pricing with 20% markup
- Multi-supplier product tracking
- Order management from customer photo inquiries
- Manual payment confirmation (perfect for bank deposits!)
- Real-time stock alerts & customer notifications
This project isn’t just academic—it’s designed to solve real challenges I face daily in my own buy-and-sell business. πΌ
Now ready to develop and deploy!
#StudentProjects #FinalYearProject #BITUniversityOfMoratuwa #WebDevelopment #POSsystem #InventoryManagement #StudentInternships #TechForSMEs #SriLankanStudents #SoftwareEngineering #StartupMindset #SmallBusinessTech
Certainly, Yew. Below is a **comprehensive and development-ready documentation** for your final-year project at the University of Moratuwa (BIT external), titled:
---
# **Final Year Project Proposal & Software Requirements Specification (SRS)**
**Title:** *Small businesses can’t digitize sales* → **Software Solution: Web-Based POS + Inventory Management System**
---
## **1. Introduction**
### 1.1 Problem Statement
Small and medium-sized businesses (SMBs)—especially informal retailers, home-based sellers, and resellers like online buy-and-sell operators—struggle to digitize their operations. They rely heavily on manual processes such as:
- Physical notebooks for sales and inventory tracking,
- WhatsApp/phone for customer communication,
- Manual price markup calculation (e.g., 20% over cost price),
- Bank deposit confirmation for order validation,
- No centralized view of stock across multiple suppliers.
This leads to:
- Inaccurate stock records,
- Missed sales opportunities,
- Pricing inconsistencies,
- Time-consuming reconciliation,
- Poor customer experience due to lack of order tracking or notifications.
### 1.2 Proposed Solution
A **web-based Point-of-Sale (POS) and Inventory Management System** tailored for SMBs, especially online resellers and small retailers. The system will unify:
- Product catalog management (with multi-supplier sourcing),
- Automated markup pricing,
- Sales processing (including manual payment confirmation workflows),
- Real-time inventory tracking,
- Customer communication and notifications (SMS/WhatsApp/email),
- Order and delivery tracking.
Designed to be **low-cost, intuitive, and mobile-responsive**, enabling non-technical users to adopt digital sales practices without extensive training.
---
## **2. Objectives**
- Replace manual sales and inventory tracking with a unified digital platform.
- Automate pricing using configurable markup rules (e.g., 20% over cost).
- Support multi-supplier product sourcing with cost comparison.
- Enable order management from inquiry (via image upload) to delivery.
- Provide real-time stock visibility and low-stock alerts.
- Facilitate secure, auditable transaction records.
- Integrate simple customer notification systems.
- Ensure data integrity through a normalized, duplication-free database.
---
## **3. Scope**
### 3.1 In Scope
- Web application accessible via desktop and mobile browsers.
- User roles: Admin (owner) and Staff (optional).
- Product management: Add/edit products with images, cost price, selling price, supplier info.
- Supplier management: Track multiple suppliers per product with pricing history.
- Inventory tracking: Real-time stock levels, stock-in/out logs.
- Sales module: Create quotations, process sales, apply discounts.
- Order workflow: From customer inquiry (with photo upload) → quote → payment confirmation → fulfillment.
- Manual payment confirmation (e.g., bank deposit) with upload proof.
- Automated 20% markup (configurable) from cost to selling price.
- Customer database with contact info and order history.
- Basic reporting: Daily sales, top products, stock levels.
- Notification system: WhatsApp/SMS/email alerts for order status (pending, confirmed, shipped).
- Export data (CSV/PDF) for accounting or backup.
### 3.2 Out of Scope
- Native mobile apps (Android/iOS).
- Integrated payment gateways (e.g., Stripe, PayPal) – manual confirmation only.
- Advanced accounting (e.g., tax, balance sheets).
- AI/ML features (e.g., demand forecasting).
- Multi-branch or franchise support.
---
## **4. Functional Requirements**
| Module | Feature | Description |
|-------|--------|------------|
| **Authentication** | Login/Logout | Secure login for admin/staff |
| | Password Reset | Email-based reset |
| **Product Management** | Add/Edit/Delete Product | With name, SKU, description, image, cost price, selling price |
| | Auto-Markup | Selling price = cost × (1 + markup %). Default: 20% |
| | Multi-Supplier Support | Link product to 1+ suppliers with individual cost prices |
| **Supplier Management** | Add/Edit Supplier | Name, contact, email, website |
| | Price History | Track cost changes over time |
| **Inventory** | Stock Tracking | Real-time quantity per product |
| | Stock In/Out Logs | Manual or sales-triggered adjustments |
| | Low-Stock Alerts | Notify when stock < threshold |
| **Customer Management** | Customer Profile | Name, phone, email, address, order history |
| | Inquiry via Image | Upload product photo from customer to create quote |
| **Sales & Orders** | Create Quotation | From customer inquiry or manual entry |
| | Convert to Order | After customer approval |
| | Payment Confirmation | Mark as paid after bank deposit; upload proof |
| | Order Status Tracking | Pending → Confirmed → Shipped → Delivered |
| **Notifications** | WhatsApp/SMS Alerts | Notify customer on status change |
| | Email Notifications | Optional for receipts or updates |
| **Reporting** | Sales Summary | Daily/weekly/monthly |
| | Inventory Report | Current stock, low-stock items |
| | Supplier Performance | Avg. cost, delivery timeliness (basic) |
| **Settings** | Markup Configuration | Set default markup % |
| | Notification Preferences | Enable/disable channels |
---
## **5. Non-Functional Requirements**
- **Usability**: Simple UI; usable by non-tech users; mobile-first design.
- **Performance**: Load key pages in <2s with 100+ products.
- **Security**: HTTPS, password hashing, role-based access.
- **Reliability**: Data backup support; prevent accidental deletion.
- **Scalability**: Support up to 5 concurrent users and 5,000 products initially.
- **Maintainability**: Modular code, clear documentation, normalized DB schema.
---
## **6. System Architecture**
- **Frontend**: React.js (or Vue.js) – responsive, component-based UI.
- **Backend**: Node.js with Express **or** Python (Django/Flask).
- **Database**: PostgreSQL or MySQL – normalized schema to avoid duplication.
- **File Storage**: Cloud (e.g., Firebase, AWS S3) or local uploads for product/customer images.
- **Notifications**: Twilio (SMS), WhatsApp Business API (or WhatsApp Cloud API), Nodemailer (email).
- **Hosting**: Render, Vercel, or Heroku (free/low-cost options).
---
## **7. Database Design (Key Entities)**
- **Users** (id, name, email, role, password_hash)
- **Suppliers** (id, name, contact, email, address)
- **Products** (id, name, sku, description, image_url, current_cost, selling_price, stock_qty)
- **Product_Suppliers** (product_id, supplier_id, cost_price, updated_at)
- **Customers** (id, name, phone, email, address)
- **Inquiries** (id, customer_id, image_url, description, created_at)
- **Orders** (id, customer_id, status, total_amount, payment_proof_url, created_at, updated_at)
- **Order_Items** (order_id, product_id, quantity, price_at_sale)
- **Inventory_Logs** (id, product_id, change_type (IN/OUT), quantity_change, reason, timestamp)
- **Notifications** (id, customer_id, type, message, status, sent_at)
*(Note: All relationships enforced via foreign keys; no data duplication.)*
---
## **8. Comparison with Existing Systems**
| System | Strengths | Weaknesses for SMBs |
|-------|----------|---------------------|
| **Square POS** | Modern UI, payments | Requires hardware, monthly fees, overkill for simple resellers |
| **Zoho Inventory** | Robust features | Complex, pricing tiers, not tailored for manual payment workflows |
| **Excel/Google Sheets** | Free, familiar | No automation, error-prone, no customer notifications |
| **Proposed System** | **Tailored for manual SMB workflows**, **WhatsApp-friendly**, **low cost**, **markup automation**, **photo-based inquiry support** | Limited to basic operations (by design) |
---
## **9. Development Roadmap (Milestones)**
1. **Week 1–2**: Requirements finalization, DB schema design, tech stack setup.
2. **Week 3–5**: Core modules – Auth, Product, Supplier, Inventory.
3. **Week 6–8**: Sales & Order workflow + Payment confirmation.
4. **Week 9**: Notification system integration.
5. **Week 10**: Reporting + Testing (unit + user).
6. **Week 11–12**: Documentation, deployment, demo video.
---
## **10. Expected Outcomes & Impact**
- Digitize sales for small resellers like your own business.
- Reduce manual errors in pricing and stock tracking.
- Improve customer trust via order transparency and notifications.
- Provide a reusable, open-architecture system for other SMBs.
- Fulfill BIT final-year project requirements with a real-world, deployable solution.
---
## **11. Conclusion**
This project bridges the digital divide for small businesses that cannot afford or operate complex ERP/POS systems. By focusing on **simplicity, affordability, and alignment with real-world workflows** (e.g., WhatsApp inquiries, bank deposit confirmations, 20% markup), the proposed web app delivers immediate value while serving as a robust academic software engineering project.
---
This documentation is **ready for implementation** and satisfies the requirements for both the **project proposal** and **full SRS** for your University of Moratuwa BIT final year project.
Would you like:
- A **UML diagram set** (use case, class, sequence)?
- A **sample ERD** (Entity-Relationship Diagram)?
- A **risk analysis or testing plan**?
- Help drafting the **proposal cover page** or **table of contents**?
Let me know—I’m happy to expand any section!