Pet Shop Web | Báo cáo kết thúc học phần Information-based Technologies | Đại học Quốc gia Hà Nội

With a large number of customers every day, it is necessary to store a lot of information such as: appointment schedule, examination schedule, number of sessions used, room charge of each pet by day, by specific time, goods management , revenue and expenditure at the store, .... spa owners, pet hotels face many difficulties in operation management. If managing only with traditional tools such as books and excel, high accuracy cannot be guaranteed as well as information loss and confusion is inevitable. Because of the above inadequacies, spa, hotel or Pet Shop owners have converted from manual management methods to using management software to save time in making complicated books and excel. , minimize loss of money and goods thanks to the features of reporting, sales, and automatic billing. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đón xem.

VIETNAM NATIONAL UNIVERSITY, HANOI
INTERNATIONAL SCHOOL
-------------------------------
REPORTOFFINALEXAMPROJECT
Subject: Information-based Technologies
Class:
Group:
Leader:
Member:
Hanoi, 5/2023
1
SUBJECT CODE: INS2065
Topic: Pet Shop Web
Lecturer: ThS Nguyễn Đức Anh
Course ID: INS2065
2
Name of group:
Prepare by Group
Student ID
Table of Contents
I. INTRODUCTION............................................................................................ 4
1. Information of website.................................................................................
2. Purpose of website.......................................................................................
II. MODEL DESIGN…………………………………………………….6
1. Migrations....................................................................................................16
2. Associations.................................................................................................16
3. Model association name...............................................................................19
4. Root URL……………..…………………………………………………...19
5. Validations................................................................................................... 19
III. DISPLAY ON LOCAL HOST………………………………………………………...23
IV.
CONCLUSION………………………………………………………………………...25
V. INDIVIDUAL CONTRIBUTION……………………………………………………26
I. INTRODUCTION
1. Information of website:
With a large number of customers every day, it is necessary to store a lot of information such as:
appointment schedule, examination schedule, number of sessions used, room charge of each pet by day, by
specific time, goods management , revenue and expenditure at the store, .... spa owners, pet hotels face
many difficulties in operation management. If managing only with traditional tools such as books and excel,
high accuracy cannot be guaranteed as well as information loss and confusion is inevitable.
Because of the above inadequacies, spa, hotel or Pet Shop owners have converted from manual management
methods to using management software to save time in making complicated books and excel. , minimize
loss of money and goods thanks to the features of reporting, sales, and automatic billing.
2. User story/Purpose of the website:
As a pet shop owner,
I want to manage the transactions between the store and suppliers,
So that I can efficiently track and organize the inventory replenishment process.
As a pet shop owner,
I want to monitor and analyze the revenue of each store,
So that I can evaluate the financial performance and identify areas for improvement.
4
As a pet shop owner,-
I want to observe and assess customer feedback and ratings regarding the store's quality,
So that I can identify areas of strength and areas that need improvement to enhance customer satisfaction.
As a pet shop owner,
I want to manage the stock movement, including both incoming and outgoing inventory,
So that I can ensure proper inventory control and efficient stock management.
As a pet shop owner,
I want to generate reports and easily analyze the sales figures,
So that I can gain insights into the business's performance, identify trends, and make informed decisions.
As a pet shop owner,
I want to maintain a comprehensive database of customer information,
So that I can personalize the shopping experience and provide tailored recommendations.
As a pet shop owner,
I want to track the purchasing behavior of customers,
So that I can identify loyal customers, offer personalized promotions, and enhance customer retention.
.
3. Project’s plan -
Project Overview:
+ Objective: Develop and launch a pet shop website to showcase products and services, facilitate
online purchases, and enhance customer experience.
+ Scope: The website will include features such as Purchasing, Order, Booking, and Response.
- Project Phase:
+ Creating the models and attributes on drafts.
+ Connecting the models and creating the schema.
+ Creating the models and their attributes on Ruby on Rails.
+ Changing their validations and association.
+ Customing the website.
+ Completing the report and slides.
- Project timeline:
+ Creating models and coding: 2-3
weeks. + Completing the report: 4
days. + Completing the slides:4 days.
6
II. Model Design
Starting we drew the corresponding Relational Schema sketch of how to organize the management data,
record all the necessary data types easily and simply:
1. Migration
We designed each table with columns and attributes respectively. I have designed the below tables:
1.1 Header
Header table contains info to find out the header of Store
Chain. The primary key of this table is discountid:string Other
attributes and and foreign keys:
- Attributes:
+ name: Name of the header.
+phone: Phone number to contact. +
email: Email of the header.
1.2 StoreChain
Store Chain table contains info to manage the storechains The
primary key of this table is chain number:string.
Other attributes and and foreign keys:
- Attributes:
+ website: website of the store chain.
- The table has following foreign keys:
Header: Name of the header in charge.
1.3 Store
8
Store table contains info about managing the store The
primary key of this table is storeid:string.
Other attributes and and foreign keys:
- Attributes:
+phone contact: Phone to contact to store. +
description: Description about the storestore +
page: Facebook, Instagram, Shopee,...
+ open_time: Time store open
+close_time: Time store close +
address: Address of store.
+ no_employee: Number of employee.
- The table has following foreign keys:
Store_chain
1.4 Department
Department table contains info about each employee belongs to one Department The
primary key of this table is departmentid.
The foreign key of this table is departmentname.
1.5 Employee
Employee table contains info about managing the employee of stores The
primary key of this table is empid:string.
Other attributes and and foreign keys:
- Attributes:
+ empname: Name of employees.
+empphone:Phone to contact. +
salary: Salary of employee.
- The table has following foreign keys:
Store: Manage employee in each store.
Department: The department of each employees.
1.6 Product type
Product type table contains info to manage the Type of the product The
primary key of this table is typeid:string.
Other attributes and and foreign keys:
- Attributes:
+ typename: Kind of the product.
1.7 Manufacturing
10
Manufacturing table contains info about the manufacturing of each product The
primary key of this table is manid:string.
Other attributes and and foreign keys:
- Attributes
+ manname
1.8 Product
Product table contains info about managing the name product in stores.
The primary key of this table is productname:string
Other attributes and and foreign keys:
- Attributes:
+ cost: Cost of product.
- The table has following foreign keys: Product type: Type of product.
1.9 Supplier
Supplier table contains info to manage the Suppliers The
primary key of this table is supplierid:string.
Other attributes and and foreign keys:
- Attributes:
+supplier name: Name of the supplier. +
phone: Suppliers’ phone to contact.
1.10 Purchasing
Purchasing table contains info about managing the purchasing between Suppliers and stores.
The primary key of this table is purchasingid:string.
Other attributes and and foreign keys:
- Attributes:
+ unit: unit of the product in purchasing.
+ number_of_unit: the quantity of product in purchasing.
+ note: the additional information.
+ date purchasing; Date the purchasing occur.
+ purchasing cost: The total cost of the purchasing.
- The table has following foreign keys:
Store: The store imports products.
Product: Name of the product. Supplier:The supplier name.
1.11 Client
Client table contains info about managing the clients of each store.
The primary key of this table is clientphone:string.
Other attributes and and foreign keys:
- Attributes:
+ clientname: Client name.
+ clientemail: email of the client.
- The table has following foreign keys:
12
Store: Managing the clients of each store.
1.12 Service
Service table contains info about find the services which the stores supply.
The primary key of this table is serviceid.
Other attributes and and foreign keys:
- Attributes:
+ service name: Name of services.
+service cost: Cost of services. 1.13
Booking
The booking table contains data about bookings made at a specific time. The primary key of this table is
bookingid,
Other attributes and foreign keys:
- Attributes:
+datebooking: Time take the booking +
total: The total price of booking
- The table has the following foreign keys:
Client: The client who make the booking
Point: Bonus point for client to get discount Discount: Discount if you get enough
point PaymentMethod: The way to pay for the booking.
1.14 Booking Detail
Booking Detail table contains info about the details of each booking.
The primary key of this table is bookingdetailid.
Other attributes and and foreign keys:
- Attributes:
+booking description: Description about the services customers booking, based on that to adjust the cost
of the booking.
- The table has following foreign keys:
Booking: Each booking has many booking details.
Service: Choose the services to book.
1.15 Rating:
Rating table contains info about the level of satisfaction.
The primary key of this table is ratingid
Other attributes and and foreign keys:
- Attributes:
+ rating: The evaluation criteria on a rating scale depend on the specific criteria set by the store.
1.16 Response
Response table contains info about the response about the quality.
The primary key of this table is resid.
Other attributes and and foreign keys:
- Attributes:
+ response: The response of the client.
14
- The table has following foreign keys:
Client: Client who comments about the store.
Rating: The evaluation point of the client. 1.17
Discount
Discount table contains info about managing the discount policy.
The primary key of this table is discountid:string.
Other attributes and and foreign keys:
- Attributes:
+ amount:The amount of discount.
+ startime: The start time of the discount policy.
+ endtime: The end time discount policy.
+Point standard: The standard to get the discount. 1.18
Order
Order table contains info about managing the order The
primary key of this table is orderid:string.
Other attributes and and foreign keys:
- Attributes: + order date
+ order cost
- The table has following foreign keys:
Client: Name of client who orders.
Point: bonus point. for the order.
Discount: Discount for order if you get enough points.
lOMoARcPSD|47231818
16
Payment method: payment method for order.
Buying method: Client orders online or offline.
1.19 Paymentmethod
Paymentmethod table contains info about manage the source of revenue.
The primary key of this table is paymentmed:string.
1.20 Buying method
Buying method table contains info to manage the development of the selling
method The primary key of this table is mainid:string.
Other attributes and and foreign keys:
- Attributes:
+ manname: Name of the manufacturing
1.21 Order Detail
Order Detail table contains info about detail of each order.
The primary key of this table is detailid:string.
Other attributes and and foreign keys:
- Attributes:
+ product quantity: number of products.
lOMoARcPSD|47231818
- The table has following foreign keys:
Order: One order has many order details.
Product: Name of each order detail. 1.22 Point
Point table contains info about the bonus points to get
discounts. The primary key of this table is pointname:string
Other attributes and and foreign keys:
- Attributes:
+ description: Describe the way, the standard to get bonus points. +
bonus point: the amount bonus point.
2. Association
Booking table:
Booking detail-table:
Rating table:
Response table:
lOMoARcPSD|47231818
18
Paymentmethod table:
Client table:
Service table:
Department table:
Employee table:
Store table:
lOMoARcPSD|47231818
19
Product table:
Order table:
Order Detail table:
Point table:
Discount table:
Header table:
Store Chain table:
Purchasing table :
lOMoARcPSD|47231818
20
Supplier table:
Manufacturing table:
Buyingmethod table:
Product Type table:
3. Model association name
Table Header: has a one-to-one relationship with the StoreChain table.
Table StoreChain which has a one-to-many relationship with the Store table.
Table Store which has a many-to-many relationship with the Client table.
Table Client has:
- a one-to-many relationship with the Booking table. - a one-to-many relationship with
the Order table. - a one-to-many relationship with the Response table
- .
Table Response has a one-to-many relationship with the Rating table.
Table Department which has a one-to-many relationship with the Employee table.
Table Store has:
- a one-to-many relationship with the Employee table.
- a one-to-many relationship with the Purchasing table.
Table Purchasing which has a many-to-many relationship with the Product table.
Table Product has:
- a many-to-many relationship with the Manufacturing table.
- a many-to-many relationship with the ProductType table. - a many-to-many
relationship with the OrderDetail table.
Table Order has:
- a one-to-many relationship with the OrderDetail table. - a many-to-many
relationship with the Discount table.
Table Buyingmethod which has a one-to-many relationship with the Order table.
Table Paymentmethod which has a one-to-many relationship with the Booking table.
| 1/27

Preview text:

VIETNAM NATIONAL UNIVERSITY, HANOI INTERNATIONAL SCHOOL
-------------------------------
REPORTOFFINALEXAMPROJECT
Subject: Information-based Technologies Class: Group: Leader: Member: Hanoi, 5/2023 1 SUBJECT CODE: INS2065 Topic: Pet Shop Web Lecturer: ThS Nguyễn Đức Anh Course ID: INS2065 Name of group: Prepare by Group Student ID 2 Table of Contents I.
INTRODUCTION............................................................................................ 4
1. Information of website.................................................................................
2. Purpose of website....................................................................................... II.
MODEL DESIGN…………………………………………………….6
1. Migrations....................................................................................................16
2. Associations.................................................................................................16
3. Model association name...............................................................................19
4. Root URL……………..…………………………………………………...19
5. Validations................................................................................................... 19
III. DISPLAY ON LOCAL HOST………………………………………………………...23 IV.
CONCLUSION………………………………………………………………………...25 V.
INDIVIDUAL CONTRIBUTION……………………………………………………26 I. INTRODUCTION
1. Information of website:
With a large number of customers every day, it is necessary to store a lot of information such as:
appointment schedule, examination schedule, number of sessions used, room charge of each pet by day, by
specific time, goods management , revenue and expenditure at the store, .... spa owners, pet hotels face
many difficulties in operation management. If managing only with traditional tools such as books and excel,
high accuracy cannot be guaranteed as well as information loss and confusion is inevitable.
Because of the above inadequacies, spa, hotel or Pet Shop owners have converted from manual management
methods to using management software to save time in making complicated books and excel. , minimize
loss of money and goods thanks to the features of reporting, sales, and automatic billing.
2. User story/Purpose of the website: As a pet shop owner,
I want to manage the transactions between the store and suppliers,
So that I can efficiently track and organize the inventory replenishment process. As a pet shop owner,
I want to monitor and analyze the revenue of each store,
So that I can evaluate the financial performance and identify areas for improvement. As a pet shop owner,-
I want to observe and assess customer feedback and ratings regarding the store's quality,
So that I can identify areas of strength and areas that need improvement to enhance customer satisfaction. As a pet shop owner,
I want to manage the stock movement, including both incoming and outgoing inventory,
So that I can ensure proper inventory control and efficient stock management. As a pet shop owner,
I want to generate reports and easily analyze the sales figures,
So that I can gain insights into the business's performance, identify trends, and make informed decisions. As a pet shop owner,
I want to maintain a comprehensive database of customer information,
So that I can personalize the shopping experience and provide tailored recommendations. As a pet shop owner,
I want to track the purchasing behavior of customers,
So that I can identify loyal customers, offer personalized promotions, and enhance customer retention. . 3. Project’s plan - Project Overview: +
Objective: Develop and launch a pet shop website to showcase products and services, facilitate 4
online purchases, and enhance customer experience. +
Scope: The website will include features such as Purchasing, Order, Booking, and Response. - Project Phase:
+ Creating the models and attributes on drafts.
+ Connecting the models and creating the schema.
+ Creating the models and their attributes on Ruby on Rails.
+ Changing their validations and association. + Customing the website.
+ Completing the report and slides. - Project timeline: +
Creating models and coding: 2-3 weeks. + Completing the report: 4
days. + Completing the slides:4 days. II. Model Design
Starting we drew the corresponding Relational Schema sketch of how to organize the management data,
record all the necessary data types easily and simply: 1. Migration
We designed each table with columns and attributes respectively. I have designed the below tables: 1.1 Header 6
Header table contains info to find out the header of Store
Chain. The primary key of this table is discountid:string Other
attributes and and foreign keys: - Attributes: + name: Name of the header.
+phone: Phone number to contact. + email: Email of the header. 1.2 StoreChain
Store Chain table contains info to manage the storechains The
primary key of this table is chain number:string.
Other attributes and and foreign keys: - Attributes: +
website: website of the store chain. -
The table has following foreign keys: ●
Header: Name of the header in charge. 1.3 Store
Store table contains info about managing the store The
primary key of this table is storeid:string.
Other attributes and and foreign keys: - Attributes:
+phone contact: Phone to contact to store. +
description: Description about the storestore +
page: Facebook, Instagram, Shopee,... + open_time: Time store open
+close_time: Time store close + address: Address of store. +
no_employee: Number of employee. -
The table has following foreign keys: ● Store_chain 1.4 Department
Department table contains info about each employee belongs to one Department The
primary key of this table is departmentid.
The foreign key of this table is departmentname. 1.5 Employee 8
Employee table contains info about managing the employee of stores The
primary key of this table is empid:string.
Other attributes and and foreign keys: - Attributes: + empname: Name of employees. +empphone:Phone to contact. + salary: Salary of employee. -
The table has following foreign keys: ●
Store: Manage employee in each store. ●
Department: The department of each employees. 1.6 Product type
Product type table contains info to manage the Type of the product The
primary key of this table is typeid:string.
Other attributes and and foreign keys: - Attributes: +
typename: Kind of the product. 1.7 Manufacturing
Manufacturing table contains info about the manufacturing of each product The
primary key of this table is manid:string.
Other attributes and and foreign keys: - Attributes + manname 1.8 Product
Product table contains info about managing the name product in stores.
The primary key of this table is productname:string
Other attributes and and foreign keys: - Attributes: + cost: Cost of product. -
The table has following foreign keys: ●
Product type: Type of product. 1.9 Supplier
Supplier table contains info to manage the Suppliers The
primary key of this table is supplierid:string.
Other attributes and and foreign keys: - Attributes:
+supplier name: Name of the supplier. +
phone: Suppliers’ phone to contact. 1.10 Purchasing 10
Purchasing table contains info about managing the purchasing between Suppliers and stores.
The primary key of this table is purchasingid:string.
Other attributes and and foreign keys: - Attributes: +
unit: unit of the product in purchasing. +
number_of_unit: the quantity of product in purchasing. +
note: the additional information. +
date purchasing; Date the purchasing occur. +
purchasing cost: The total cost of the purchasing. -
The table has following foreign keys: ●
Store: The store imports products. ●
Product: Name of the product. ● Supplier:The supplier name. 1.11 Client
Client table contains info about managing the clients of each store.
The primary key of this table is clientphone:string.
Other attributes and and foreign keys: - Attributes: + clientname: Client name. +
clientemail: email of the client. -
The table has following foreign keys: ●
Store: Managing the clients of each store. 1.12 Service
Service table contains info about find the services which the stores supply.
The primary key of this table is serviceid.
Other attributes and and foreign keys: - Attributes: +
service name: Name of services.
+service cost: Cost of services. 1.13 Booking
The booking table contains data about bookings made at a specific time. The primary key of this table is bookingid,
Other attributes and foreign keys: - Attributes:
+datebooking: Time take the booking +
total: The total price of booking -
The table has the following foreign keys: ●
Client: The client who make the booking ●
Point: Bonus point for client to get discount ● Discount: Discount if you get enough
point ● PaymentMethod: The way to pay for the booking. 1.14 Booking Detail 12
Booking Detail table contains info about the details of each booking.
The primary key of this table is bookingdetailid.
Other attributes and and foreign keys: - Attributes:
+booking description: Description about the services customers booking, based on that to adjust the cost of the booking. -
The table has following foreign keys:
●Booking: Each booking has many booking details. ●
Service: Choose the services to book. 1.15 Rating:
Rating table contains info about the level of satisfaction.
The primary key of this table is ratingid
Other attributes and and foreign keys: - Attributes: +
rating: The evaluation criteria on a rating scale depend on the specific criteria set by the store. 1.16 Response
Response table contains info about the response about the quality.
The primary key of this table is resid.
Other attributes and and foreign keys: - Attributes: +
response: The response of the client. -
The table has following foreign keys:
●Client: Client who comments about the store. ●
Rating: The evaluation point of the client. 1.17 Discount
Discount table contains info about managing the discount policy.
The primary key of this table is discountid:string.
Other attributes and and foreign keys: - Attributes: +
amount:The amount of discount. +
startime: The start time of the discount policy. +
endtime: The end time discount policy.
+Point standard: The standard to get the discount. 1.18 Order
Order table contains info about managing the order The
primary key of this table is orderid:string.
Other attributes and and foreign keys: - Attributes: + order date + order cost -
The table has following foreign keys: ●
Client: Name of client who orders. 14 ●
Point: bonus point. for the order. ●
Discount: Discount for order if you get enough points. lOMoARcPSD|47231818
Payment method: payment method for order. ●
Buying method: Client orders online or offline. 1.19 Paymentmethod
Paymentmethod table contains info about manage the source of revenue.
The primary key of this table is paymentmed:string. 1.20 Buying method
Buying method table contains info to manage the development of the selling
method The primary key of this table is mainid:string.
Other attributes and and foreign keys: - Attributes: +
manname: Name of the manufacturing 1.21 Order Detail
Order Detail table contains info about detail of each order.
The primary key of this table is detailid:string.
Other attributes and and foreign keys: - Attributes: +
product quantity: number of products. 16 lOMoARcPSD|47231818 ● -
The table has following foreign keys:
●Order: One order has many order details. ●
Product: Name of each order detail. 1.22 Point
Point table contains info about the bonus points to get
discounts. The primary key of this table is pointname:string
Other attributes and and foreign keys: - Attributes:
+ description: Describe the way, the standard to get bonus points. +
bonus point: the amount bonus point. 2. Association ● Booking table: Booking detail-table: ● Rating table: ● Response table: lOMoARcPSD|47231818 ● Paymentmethod table: ● Client table: ● Service table: ● Department table: ● Employee table: ● Store table: 18 lOMoARcPSD|47231818 ● Product table: ● Order table: ● Order Detail table: ● Point table: ● Discount table: ● Header table: ● Store Chain table: ● Purchasing table : 19 lOMoARcPSD|47231818 Supplier table: ● Manufacturing table: ● Buyingmethod table: ● Product Type table:
3. Model association name
Table Header: has a one-to-one relationship with the StoreChain table.
Table StoreChain which has a one-to-many relationship with the Store table.
Table Store which has a many-to-many relationship with the Client table. Table Client has:
- a one-to-many relationship with the Booking table. - a one-to-many relationship with the Order table. -
a one-to-many relationship with the Response table - .
Table Response has a one-to-many relationship with the Rating table.
Table Department which has a one-to-many relationship with the Employee table. Table Store has:
- a one-to-many relationship with the Employee table.
- a one-to-many relationship with the Purchasing table.
Table Purchasing which has a many-to-many relationship with the Product table. Table Product has:
- a many-to-many relationship with the Manufacturing table.
- a many-to-many relationship with the ProductType table. - a many-to-many
relationship with the OrderDetail table. Table Order has:
- a one-to-many relationship with the OrderDetail table. - a many-to-many
relationship with the Discount table.
Table Buyingmethod which has a one-to-many relationship with the Order table.
Table Paymentmethod which has a one-to-many relationship with the Booking table. 20