Criterion A: Planning
Word Count: 550 Words
Defining the Scenario:
‘Lodha Chemist’, a pharmacy owned by my client Mr Bahadursingh Sisodia, recently
opened near my house. Apart from medicines, my client also sells general household and food
items like crisps, detergent, air fresheners, dog food, etc and offers home-delivery to customers.
Interviewing my client,1 I learnt his daily activities at the pharmacy were repetitive and
tedious. They involved: attending to customers at the pharmacy, processing returns, taking
orders on the phone and preparing them for home-delivery, managing the pharmacy’s inventory
manually, and calculating the monthly revenue. My client recently hired an employee to help
manage store operations and run deliveries. He may hire more staff if he expands. Currently,
the pharmacy operates on a paper-based system. My client uses a notebook2 for orders and
manual stock tracking, and manually calculates monthly revenue.
Observing the current system during a visit to the pharmacy, I noticed several
limitations. Scattered data in the pharmacy's notebook made it difficult to locate order and stock
information efficiently. With growing customers, this system is prone to data loss, impacting
important calculations like monthly revenue. It may also lead to forgotten customer orders and
out of stock items not being reordered. Moreover, as the pharmacy accepts orders both at the
POS terminal and via phone calls, data flow isn’t synchronised, further increasing risk of data
loss. Additionally, my client mentioned that his employee found it difficult to remember where
the products are kept, increasing customer service time and lower customer satisfaction.
1
Refer to Appendix 1A: Interview with the Client.
2
Refer to Appendix 1B: Notebook used in the Pharmacy
1
Besides, my client has to constantly answer his phone to receive home-delivery orders, which
is distracting and time-consuming. Moreover, customers opting for home-delivery receive
crumpled, raw slips as receipts,3 occasionally containing calculation errors.
Description/Rationale for Proposed Solution:
After considering possible solutions – websites, apps, and dedicated programs – with
my client, I suggested a website offering a relational database solution, especially since they’re
willing to invest in a pharmacy laptop.4 Moreover, it’ll be easily accessible to customers and
my client won’t be tethered to their phone the entire day.
The proposed system offers three interfaces – admin, customer, and employee. The
customer interface accepts orders and showcase them on the employee interface, solving the
problem of forgetting orders. The employee interface also has a POS terminal to record over-
the-counter sales at the pharmacy, resolving issues with data synchronisation. This will further
enable accurate revenue calculation on the employee portal. Additionally, products at the
pharmacy can be logged into the inventory via the employee interface, allowing for efficient
stock management. Hence, my client can reorder low stock items on time and employees can
retrieve products easily based on location in inventory. The admin interface will give access to
the employees.
To develop front-end, I will use HTML, CSS, JavaScript, and Jinja. HTML and CSS
are essential for web development. JavaScript will be required for dynamicity and interactive
elements. Jinja will render data retrieved from the database onto the front-end of the website
(e.g., the inventory table). For the back-end and logic, I shall be using Flask, a Python library,
to connect with a SQLite3 relational database, allowing complex queries (e.g., revenue
3
Refer to Appendix 1C: Sample Home Delivery Receipt
4
Refer to Appendix 1A: Interview with the Client
2
calculation in product). It is light-weight, thus, not requiring much storage space on servers.
Additionally, I knew Flask offered libraries like pdfkit and email_thread, which can assist
developing email and PDF report features of the product.
Success Criteria:
1. The software for the pharmacy should have 3 separate interfaces – Admin, Customer,
and Employee.
2. The software for the pharmacy must have an interactive and easy to use UI.
3. Customer Interface Sign Up and Login:
a. It should be easy for new customers to sign up and use the pharmacy’s customer
portal. They should be able to register by providing their first name, last name,
email address, phone number, and home address.
b. The customers should be able to login to the pharmacy’s Customer Interface by
using their registered email address and password.
c. Upon forgetting the password, customers should be able to retrieve their account
through a forgot password feature. This will change their password to a
randomly generated password and email it to them.
d. The pharmacy’s address and contact details must be present on the login
interface.
4. Customer Interface Order Placement:
a. Using the pharmacy’s customer interface, customers should be able to place
orders at the pharmacy.
b. Customers should be able to add products to their cart using a dynamic search
bar:
3
i. If a successful match for the product requested is found in the database,
the product must be added to the customer’s cart, if available. If the
product is not in stock, the customers must be notified of the same.
ii. If no exact match is found for the product the customer has requested,
there must be a suggestive feature showing possible matches for the
product, facilitating quicker searching capability.
c. Customers should be able to indicate the quantity of each product that they
require.
d. Customers should be able to indicate their delivery preference – Home Delivery
or Pickup.
e. Customers must present a prescription to place their order with the pharmacy.
f. Upon placement of order, customers must receive confirmation that their order
has been placed as an ‘Active Order’ at the pharmacy. They must also receive a
receipt of their order from the pharmacy. which depicts their order contents and
the grand total.
5. Customers should be able to update their profile details such as first name, last name,
email address, phone number, and home address. They should also be able to change
their password if required.
6. Employee Login:
a. The employees should be able to login to the pharmacy’s Employee Interface
by using their registered email address and password.
b. An employee must not be able to register themselves. They have to be granted
access via the Admin interface, which can be revoked at any time.
7. Employee Interface:
4
a. It should be easy to navigate on the pharmacy’s employee interface so that a
newbie can quickly understand the system.
b. Employees must be able to view and edit the pharmacy’s inventory:
i. Using the inventory, they should be able to view all the items available
in the pharmacy
ii. The inventory must depict the products which are low in stock and those
which are out of stock.
iii. The inventory must indicate the storage location of each product so that
employees can find it quickly in the pharmacy.
iv. There must be a search bar to assist finding products in the inventory.
v. A printable report of the entire inventory should be available.
vi. Employee’s must be able to add products, edit existing products, and
delete existing products from the pharmacy’s inventory.
c. Employees must be able to view all orders placed at the pharmacy:
i. There must be an ‘Active Orders’ section to view orders placed via the
Customer Interface. Here the order contents must be visible and there
must be an option to accept/reject the order placed by the customer.
ii. Past orders made at the pharmacy should be visible to the employees.
d. Employees must be able to view the pharmacy’s Monthly Revenue details:
i. The amount received from each order in the pharmacy in a month must
be added to the monthly revenue.
ii. Monthly revenue details of the pharmacy for past months must be visible
to the Employee.
e. Employees must be able to sell products to customers who walk-in to buy
products from the pharmacy via a POS Terminal functionality.
5
f. Employees must be able to depict the return of products to the pharmacy in the
system.
i. The price for return must be editable as the pharmacy does not accept
returns for all products at the same price.
8. Admin Login:
a. The admin should be able to login to the pharmacy’s Admin Interface by using
their registered email address and password.
b. An admin must not be able to register themselves. They have to be granted
access by adding a record manually to the database.
9. Admin Interface grant access to Employees:
a. The Admin Interface must have a facility to grant access to the employees
working at the pharmacy:
i. New records for Employees can be added by registering their first name,
last name, mobile number, and email address.
ii. The admin must be able to set and change passwords for the Employees.
iii. The admin must be able to revoke access for the employees at any time.