# Retail Management System
## Preface
A retail management system (RMS) is a platform that combines several technologies to aid in the day-to-day operation of a retail store or chain, such as managing and buying inventory, checking out customers, scheduling employee shifts, keeping track of finances, etc.
## Reason for choosing topic
~~It's 20 fucking 22, covid and god knows what else is out there and people just hate going out in general (me KEKW) so we need to make an RMS to make life ez~~
Retailing is, by no means, an easy job. A retailer's work consists of selling their products to customers, keeping track of their goods supply and restocking when needed, managing staff, dealing with ~~Karens~~ customer's complaints and the list goes on. The tasks are then further multiplied by the number of stores or departments one may ~~(or may not)~~ own, and the sheer workload can be overwhelming. In an attempt to challenge this trivial yet daunting problem of retailing, we will be developping a Retail Management System that will aid retailers in their day-to-day business.
## Features:
- Basic
- Inventory management
- self-explanatory
- Staff/employees management
- scheduler, attendence checker, ...
- Payment system
- handles transaction, receipts
- ~~POS~~ (no lol, need hardware for that one), ePOS
- accounting?
- Sales data analysis
- dashboard
- E-commerce?
- Advanced
- Customer Relation Management (abbr. CRM)
- analyse customer's data (lifetime spending, average order value, order history) to further improve sales
- customer service
- *sort of similar to sales data analysis but I guess this applies to individual customer instead?
- Warehouse management + logistics?
## Other notes:
- Available as both web app and mobile app most likely
- Admin/management pages for desktop only, e-store for both?
## Week 1 (19/9 - 25/9):
- Introduction(Problem statements, goals)
- Functional modules
- Architecture design
- Tech Stack(React, Spring, MySQL)
## Week 2 (26/9 - 2/10)
- Survey -> List the available features as well as pros, cons (if available). Example systems : Odoo, KiotViet, Heartland Retail, Erply
- 1 RMS for 1 person
- Chuong : KiotViet
- Huy : some random RMS
- Khoa : Erply
- Analyze the functional requirements for each modules :
- Inventory Management (Khoa + Huy)
- Staff management (Khoa)
- Sales transaction management (Huy)
- Store management (Statistics, report, insight) (Chuong)
- Additional : ERD, Usecase
## Week 3 (3/10 - 9/10)
- Use case diagrams :
- Authentication (Huy)
- Inventory managment (Huy + Khoa)
- Sales transaction management (Huy)
- Staff management (Khoa)
- Statistic (Chuong)
- [Shared diagrams on draw.io](https://app.diagrams.net/#G13P0a6DWTKOSxsAYQgIpkMYjTv1E_aDVj), [another one](https://drive.google.com/file/d/1OixzKnHWbob1OcAwakKNCB52Pac-JSHD/view?usp=sharing)
- ERD diagram
## Week 4
- Old system analysis
- Fix bug
- Addtional features :
- More specific type of products (clothes, food,...)
- Generate UI based on the products you want to sell (Medicine, Restaurant, Grocery,)
- Online payment
- Ecommerce platform connection
## Week 5
- Research about setting up an onine payment platform (Momo, Zalopay) to integrate and also Ecommerce platform (Shoppee).
- Continue design and improve wesite using react.
- Complete the setting up larvavel project and test the API (Hopefully :^)
## Week 6 tasks
- VNPay (Chuong), Shopee (Huy)
- Figma design (Chuong) for screens and views [Figma](https://www.figma.com/file/Q2WSPvC7G1xVSkfSl3Syrk/Untitled?node-id=0%3A1)
- React + BE (Huy)
- [Proposed ERD for FNB](https://hackmd.io/N0PWgKP0ROCNZiGcSdyzVQ)
- Read all controllers, **permission and roles** (Huy and Khoa).
- Modify the ERD based in database (Khoa). [Done](https://drive.google.com/file/d/1Ng2jLA-BhRr0fk8fKSkcwH064z55SOeC/view?usp=sharing)
## Week 7 :
- [FNB features](https://hackmd.io/@fDk03RI_QLSHqgc-0FvMmA/SySK5vlro)
## Week 8 :
- [Shared drive for sample reports and other resources](https://drive.google.com/drive/folders/1EuLtgMLnXHaNVTvo93iSHBK1u2I-eoaV?usp=share_link)
- TODOS :
- [Report](https://www.overleaf.com/4497275186xswxcwrxymtx) :
- Go to main.tex file
- Chương : Knowledge base
- Huy : Rewrite the introductions : Include scopes, goal, and Grocery restructure
- Khoa : FNB , Rewrite the survey (Move the survey to system analysis instead of introduction) -> conclude the overall functions we need to achieve
- Implementation : Inventory module -> import and inventory .
## Week 9
- Huy :
- inventory -> inventory module (add product)
- inventory -> recept
- Report about grocery busniess model.
- Chuong :
- inventory -> sale module (import product)
- knowledge base
- Khoa :
- Resarch about F&B management especially at serving customer, table booking
- Sketch the needed ERD
- Admin page function
## Week 10 (26/11 -> 3/12 )
### Report
- Modules description (Sytem analysis) (Huy)
- Database : Table descriptions, entities descriptions (Khoa)
- Technology base , modify theory base if needed (Chuong)
- Architectural design -> rewrite the architecural design to fit the MVC model by using components diagrams (Huy)
### Implementation
- Continue redesign UI (add loadings, redesign tables, resolve some minor issues ). (Chuong)
- Add supplier modules. (Huy)
- Add sales modules (Khoa)
- Add employee modules
## Week 10 (3/11 -> 10/12 )
### Report
- Modify F&B maybe
- Add Entities description
- Add preface
### Implementation
- Continue redesign UI (Chuong)
- Modify admin page (Khoa)
- Add the **rest** of the module (Huy)
# Phase 2
## Overall tasks
- Table management:
- Create a new table (table name, number of seats)
- Update a table
- Delete a table
- Recipe and ingredient management :
- CRUD recipe for a product
- Import ingredients , return ingredients
- Return a dish (dish already done, dish is not none, dish is spoiled -> throw away)
- Order management :
- Create an order for a table
- Update an order for a table since a guest can order more dishes
- Prioritize the order
- Announce for the kitchen (Using socket mechanism)
- Online website :
- Allow the customer to make the reservation
- Order the dish (maybe)
- Make up the UI
## Week 1 (30/1 - 5/2) :
- Complete and fix small bugs for the Grocery model
- Chuong,Huy : Table management UI design, FB registration and UI presentation
- Huy : Statistics (90% done) and setting (may not need setting)
- Khoa :
- Prepare APIs and socket server (If needed) : Store type, table management, recipe...
- Modify authen for employee and product with variation deletion
## Week 2 (6/2 - 12/2) :
- Table management :
- Create, update, delete a table
- Assign a table to a group
- Create, update or delete a new group
- Reservation managemnent :
- Visuallize the reservation on the schedule
- Mockup the UI for reservation edit
## Week 3 (13/2 - 19/2) :
- Reservation : Create, update
- Recipe, ingredient management modified
## WeeK 4 (20/2 - 26/2)
- Add recipe for product
- Todo : update recipe , show the product recipe to UI.
- Slide ?
## Laravel doc
- [From what I learned](https://hackmd.io/@hrCprW1ZRdqSmpcnAEfhYA/S13bjuKMo/edit)
## Report
- [Latex report](https://www.overleaf.com/4497275186xswxcwrxymtx)
- [Canva slide](https://www.canva.com/design/DAFNs1OTjq4/KAOgCmRMwIXU1CXG1hY-Qw/edit?utm_content=DAFNs1OTjq4&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton)
## Refs
- [Our drive](https://drive.google.com/drive/folders/1--5CogHe5HSHLtM1cRemuKJrSh5q2eC4?usp=sharing)
- Kiyot FNB : https://fnb.kiotviet.vn/huycaofandb
- Username : 0769631631
- Pass : 14112001
- [FNB HDSD kitotviet](https://www.kiotviet.vn/huong-dan-su-dung-kiotviet/huong-dan-bar-cafe-nha-hang/ban-hang-bar-cafe-nha-hang/)
- API repo: [here](https://github.com/Raverbury/bkrm-api)
- [Kiotviet FNB](https://fnb.kiotviet.vn/huycaofood/#/TableAndRoom)
- [IPOS](https://ipos.vn/fast-food/)
- [ipos demo](https://www.youtube.com/watch?v=udtvPjlrXlA&ab_channel=HotFilm)
- [Online payment with momo](https://viblo.asia/p/payment-with-momo-eW65GbpOlDO)
- [Prev thesis](https://drive.google.com/drive/folders/10P3Neh0ZuW2F0_f8BG-kx60wkdpk4AlZ)
- https://www.smartsheet.com/retail-management-system-software
- https://www.youtube.com/watch?v=_duZQSQpxD8&ab_channel=APIPointofSale
- https://solveit.dev/blog/what-is-retail-management-system
- https://www.intelligencenode.com/blog/quick-easy-guide-retail-management-systems
- https://www.capterra.co.uk/directory/20053/retail-management-systems/software
- https://www.academia.edu/34016605/Retail_Management_System_documentation_docx
- [Development of a Web Based Inventory Management System for a Small Retail Business](https://epublications.regis.edu/cgi/viewcontent.cgi?article=1369&context=theses)
- [Sale and inventory management system ](http://utpedia.utp.edu.my/13591/1/Rahmet%20Bee_13743.pdf)
- [F&B design doc](https://hackmd.io/s/rytnoZkvo?both)
-https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.4.1/xampp-windows-x64-7.4.1-1-VC15-installer.exe/download
- [RMS literature review](https://hackmd.io/@fDk03RI_QLSHqgc-0FvMmA/BJVZYVFuj)