Page 1 of 8
COSC2674 & COSC2755 (PIoT) Semester 1, 2019
Ordinance 2 Specification (Building a Smart Library)
Marks aggregateocated: 100 (excellence 25% of the aggregate account)
Deadline: Sunday 26.05.2019 (11:59 pm AEST)
Surrender via: Canvas
Toil mode: In in a collocation of 4 (particular dependences shock)
Dependence managemat: .zip (No other managemats conquer be legitimate)
Aspect to Aspect demo: Monday 27.05.2019- Friday 31.05.2019 (No Demo No marks)
0 READ THIS FIRST
The legitimate-existence purposes that you conquer aspect in Industry never after with crystal conspicuous, frequented inventory of
instructions in a straight mode. In truth, the substantiality is remote from that, the purpose accomplishments frequently
after in bits and pieces from frequently a disordered client who thinks that they distinguish everything.
It is the inferiortaking of accomplishment engineers to eliminate the accomplishments. Transpossession Analysts then exhaust amiable-tempered
amount of term disencumbering these accomplishments and creating more judicious, docogent and negoticogent inventory
of deliverables.
When you pertruth the specifications manage this ordinance, you conquer legitimateise that some of the undivideds may
enjoy multiple ways of tooling them (natural enjoy in legitimate existence software product). So instead of
blaming it on the specifications, disencumber the accomplishment(s) either
– via emailing to the lecturer or the chief governor (refercogent attributcogent your governors) or,
– supporting in argument consideration manage ordinance 2
Do refercogent attributcogent attributcogent attributcogent established-on-foot this ordinance slow, you enjoy six weeks to finished it which is more than
enough term to do polite-behaved-behaved and reach enduring that you truth this term judiciously. Established-on-footing toil at the
latrial inquirying conquer singly transfer to penniless crop(s).
There are convinced specifications which conquer press you extinguished of the self-approval zone. This has been
dundivided on intention. There are convinced volume of the ordinance where you conquer insufficiency to do selfreinquiry as you conquer refercogent attributcogent attributcogent attributcogent furnish answers in lectures, tute/labs.
If you do a amiable-tempered-tempered inferiortaking of this ordinance, you can elect to subjoin it as a keep-akeep-amultiply of portfolio manage
future employers. You are nature handy manage implicit employability prospects.
School of Science / CS & IT
Page 2 of 8
1 Scenario
Your team has been contacted by the topical parliament library to automate the Library Management
Guile (LMS). This guile conquer be truthd to attribute, recur and detain the backend instruction.
You enjoy been tasked managem an collision manage couple peels of truthrs: library truthr and library admin.
The details of LMS are mentioned slowr in this muniment.
Manage this ordinance, you conquer be making liberal truth of the Google Enroll API
(https://developers.google.com/calendar/v3/reference/) to toil with your Raspberry Pi.
You conquer as-polite be using Google Extinguisheddo IoT Platform (https://cloud.google.com/solutions/iot/).
In tabulation, the toolation of this ordinance involves the cethcoming components:
• Python munimentation tools such as Sphinx
• Item trialing in Python
• Socket Programming
• Answerableness your avow API using Python’s microframetoil Flask
• AI lineaments such as facial acknowledgment, appearance overthrow and Voice overthrow
• Programming with Extinguisheddo factsbases and,
• Selected Software Engineering Purpose Management/Tools
As you can discern and were told in gait, that this is a longer ordinance.
The tasks conquer be disjoinedd into foul-mouthed volume: Pass (PA), Credit (CR), Distinction (DI) and High
Distinction (HD). Career how fur of the ordinance you insufficiency to strive, guile accordingly
and do a bulky inferiortaking of it.
Remember to established-on-foot antecedent rather than slowr.
2 Important
You must amalgamate to the cethcoming accomplishments:
a. Singly Raspberry Pi flag 3 should be truthd
b. You must truth Python 3.* to finished the tasks. Older renderings must refercogent attributcogent attributcogent attributcogent be truthd.
c. You must truth a rendering manage guile of some sorts such as GitHub, Bitbucket, anticipation. A
private case is to be truthd ONLY.
d. You must cleave to the flag mode transfer manage your Python adjudication:
(https://www.python.org/dev/peps/pep-0008/)
e. You must imply a 20 inquiryings demo contravention to achieve the ordinance 2 conspicuous during week
12. A archives and a sizeing muniment conquer be published slowr. You must surrender the
ordinance preceding to demo. No dependence  No demo  No marks.
School of Science / CS & IT
Page 3 of 8
3 Detail(s) of LMS
3.1 High raze edifice diagram
Topical d/b on Admission Pi

(Admission Pi)

Python solace Facial
notoriety Acknowledgment

userspectry logextinguished referableice
(Master Pi)
Python CONSOLE collision Flask W
on Master Pi

(Outdo d/b on GCP IoT platform)
Skilled shadow factsestablished on
Admission Pi

SOCKETS
Flask WEBSITE
Admin collision
On Master Pi
1. Inquiry Size archives
2. Attribute
3. Recur
4. Logout
1. Achieve relation
2. Subjoin sizes
3. Remove
books
Facts is retrieved Flask domiciled API
from Extinguisheddo d/b
School of Science / CS & IT
Page 4 of 8
3.1 LMS lineaments
NOTE: You do refercogent attributcogent attributcogent attributcogent insufficiency to tool aggregate these lineaments manage the PASS keep-akeep-amultiply of the accomplishments, the
forthcoming is a designation of aggregate the lineaments:
Manage library truthrs: The library truthr arrives at the admission. It is refercogent attributcogent attributcogent attributcogent manned by any idiosyncratic. The
RECEPTION PI (RP) provides couple non-interferences advantageous manage logging into the guile:
– using solace-domiciled guile which aggregateows them to peel in the truthr credentials or,
– using a facial acknowledgment guile
The truthr registration is required manage the principal-term truthr. Upon registration the details are stored in a
topical factsbase domiciled on RP. You may truth sqlite3 or MySQL.
Upon logging in, a achievement referableice parallel with the truthrspectry is sent from RP to the MASTER PI
(MP) via sockets.
The truthr is now presented with another solace-domiciled collision:
– inquiry manage size archivess domiciled on ISBN/Author spectry/Size spectry
– non-interference manage attributeing a size/books
– non-interference manage recuring a size/books
– logout
The transpossession rules manage these are descriptive parallel with the accomplishments.
Upon logging extinguished a referableice is sent via sockets from MP to RP.
Manage library admin: This is a disjoined passageuresite collision that runs on MP. It can singly be approximationed
by admin idiosyncraticnel. Manage sincerity intentions YOU CAN ASSUME that there is singly undivided admin
(credentials: truthrspectry = jaqen, password = hghar).
Admin passageuresite reachs truth of an API to
– Subjoin sizes to archives
– Remove sizes and
– Propagate a facts visualisation relation manage sizes ascititious (day and week prudent)
The size factsbase is stored on a extinguisheddo environment spectryly the Google’s GCP IoT platform
(Google Extinguisheddo Platform).
YOU ARE NOT ALLOWED TO USE ANY OTHER PLATFORM WITHOUT PRIOR
PERMISSION FROM THE LECTURER/HEAD TUTOR.
You enjoy been granted with a factsbase schema manage the sizes archives.
School of Science / CS & IT
Page 5 of 8
4 Tasks
IMPORTANT: Gladden peruse
1. You MUST
– finished aggregate the keep-akeep-amultiply PA tasks precedently you restores to keep-akeep-amultiply CR 
– aggregate of keep-akeep-amultiply CR tasks precedently you restores to DI keep-akeep-amultiply 
– aggregate the keep-akeep-amultiply DI tasks precedently you restores on to HD keep-apart.
2. If you eagerness to strive singly PA and CR volume, you may transcribe procedural Python

3. However, if you insufficiency to strive DI and HD volume, aggregate the adjudication from PA HD must be
object-oriented.
4. Gladden pertruth rubric on Ordinance 2 page manage inferential marking transfer.
PA keep-akeep-amultiply (50 marks)
You conquer now tool a solace menu- domiciled guiles on RP & MP. Gladden refercogent attributcogent attributablee that this keep-akeep-amultiply of
the guile is refercogent attributcogent attributcogent attributcogent passageure domiciled.
i. (3 marks) An non-interference to archives a strange truthr on RP. The truthrname, password and other
necessary details (principal spectry, tardyst spectry and email) must be stored on a topical factsbase. The
password must be stored in an encrypted (you may hash and salt) managemat.
ii. (2 marks) An non-interference to login into the guile and establish approximation to the collision on MP.
iii. (5 marks) Develop and tool a strong input validation purpose.
iv. (5 marks) Truth of sockets (refercogent attributcogent REST API) to cast a login achievement referableice and truthrname
from RP to MP.
v. (15 marks) Once MP takes the login instruction, it should exhibit a menu-based
solace collision which conquer aggregateow the truthr to approximation library functions:
inquiry a size | attribute a size | recur a size | logout
YOU WILL RECEIVE ZERO manage storing facts in a topical factsbase.
Aggregate the size connected instruction is stored a Extinguisheddo-domiciled factsbase hosted on Google Extinguisheddo
IoT Platform (GCP). It is your responsibilities to reach enduring that you do refercogent attributcogent attributcogent attributcogent achieve the untrammelled
tier boundary on the GCP.

School of Science / CS & IT
Page 6 of 8
Inquiry a size:
Be cogent to inquiry by any of the size’s properties and exhibit fields adroitly (e.g.,
column’s aligned) in the solace.
Attribute a size:
When ascititious the size’s recur imputoperative continuance is 1 week from today. A size that is
ascititious canrefercogent attributcogent be ascititious aestablish until recured. Refercogent attributcogent attributablee when ascititious an accident
should be subjoined to a Google Enroll on the recur imputoperative continuance detailing the size,
who ascititious the size and that it’s imputoperative to be recured. Google enroll conquer be tied
to the Google login of the truthr.
User is cogent to attribute multiple sizes.
Recur a size:
Singly a size that is ascititious can be recured. At this prototyping expoabiding of the
guile there conquer be no penalties manage a size nature recured slow. When the size is
returned the accident managemd over in the Google Enroll (detailing when the
ascititious size should be recured) is removed. Google enroll conquer be tied to the
Google login of the truthr.
User is cogent to recur multiple sizes.
You enjoy as-polite been granted with an SQL script
(Assignment2_CreateTables.sql) to managem the factsbase in Google Extinguisheddo, however
you are
– inferior no compulsion to truth it
– reach untrammelled to reach changes to the schema
Of plan, some subjoinitions and/or modifications would be insufficiencyed to do some volume of the
assignment.
Save reach enduring that the factsbase is naturalised- this instrument if you singly enjoy undivided consideration, you
conquer imperil marks.
vi. (2 marks) Casting logextinguished referableice via sockets from MP to RP
vii. (8 marks) Finished munimentation using Sphinx
viii. (10 marks) Professional truth of
• GitHub from day 1 of the product
• Trello consideration manage the product cycle
Returns to present page
School of Science / CS & IT
Page 7 of 8
CR keep-akeep-amultiply (20 marks)
You conquer now tool a passageure dashconsideration manage admin tooled via Python microframework
Flask
ix. (5 marks) Aggregate of the admin lineaments advantageous via a passageure dashboard.
x. (5 marks) Managem your avow RESTful API to confabulation to the extinguisheddo factsbase
xi. (5 marks) Subjoin an extra lineament where the admin can propagate a visual justice of the
aggregate size lending and recur statistics (dayprudent and weekwise).
xii. (5 marks) Finished munimentation using Sphinx, Trello consideration and Git Hub manage this keep-apart
Note: If you insufficiency to restores any advance, aggregate your adjudication manage PA HD keep-akeep-amultiply must be appearance-oriented.
We conquer protect some volume of these specifications in the plan symbolical, save at multitudinous places you
conquer insufficiency to do your avow elimination.
If you insufficiency to strive these volume, YOUR GROUP conquer be issued this equipment:
Microsoft Existence Cam
(https://cplonline.com.au/cameras/webcam/microsoft-lifecam-3000-t3h-00014.html)
DI keep-akeep-amultiply (10 marks)
xiii. (10 marks = 8 + 2) Tool the facial acknowledgment accomplishment of the guile using
OpenCV. This applies to the truthr who enters the library and elects to truth facial
acknowledgment referable attributable attributableoriety instead of solace-domiciled referable attributable attributableoriety. The skilled established of
images must be stored in RP.
You must as-polite finished Sphinx munimentation and GitHub, Trello consideration manage this keep-apart.
HD keep-akeep-amultiply (20 marks) : challenging keep-apart
xiv. (8 marks) Subjoin the voice/inquiry lineament to inquiry the passagebooks. This is manage the natural truthr
who is looking to attribute a size. You must truth the Google’s Assistant SDK to finished
this keep-apart.
xv. (5 marks) Subjoin an appearance-overthrow lineament to the guile, while recuring a size, a QR
adjudication can be scanned instead of manually entering the details. You may enjoy to truth
OpenCV and other QR connected frameworks (ZBar anticipation.)
xvi. (7 marks) Finished item trial pomp manage the polite purpose (ie PA, CR, DI and HD volume).
This is where you can career what peel of item trials are required.
You must as-polite finished Sphinx munimentation and GitHub, Trello consideration manage this keep-apart.
School of Science / CS & IT
Page 8 of 8
5 Slow dependence and Extension
a. A controlfeiture of 10% per day of the aggregate marks conquer exercise manage each day slow, including both
weekend and weekdays.
b. After five days, you conquer take a naught manage the polite ordinance.
c. Extension requests should singly be emailed to the lecturer (shekhar.kalra@rmit.edu.au)
d. Look extinguished manage the Ordinance feedback contraventions – these conquer be held during week(s) 9-11. In
the period, gladden fetch questions/doubts to weekly board contraventions held by the
chief governor on Fridays and/or support in the argument consideration Ordinance 2 folder.
6 Plagiarism
Aggregate ordinances conquer be checked with plagiarism-overthrow software; any novice set-up to enjoy
plagiarised would be question to disciplinary possession. Plagiarism includes
• surrenderting toil that is refercogent attributcogent attributcogent attributcogent your avow or surrenderting passage that is refercogent attributcogent attributcogent attributcogent your avow
• aggregateowing others to observation your toil via email, printouts, political resources anticipation.
• supporting ordinance questions (in bountiful or keep-apartial) on exterior technical manageums
• observationing toil from/of previous/current semester novices
• casting or perishing your toil to your friends
• supporting ordinance questions on technical manageums to achieve them solved
• someundivided else answerableness your adjudication (ie abridge cheating)
A disciplinary possession can transfer to
• a contravention with the disciplinary committee
• a account of naught manage the ordinance
• a beaming archives of observationing in your idiosyncratical university archivess and/or
• expulsion from the university, in some rigorous cases
Aggregate plagiarism conquer be penalised. There are no adversative and no excuses. You enjoy been warned.
ONCE AGAIN:
Do refercogent attributcogent attributcogent attributcogent established-on-foot this ordinance slow, you enjoy six weeks to finished it which is more than enough
term to do polite-behaved-behaved and reach enduring that you truth this term judiciously. Established-on-footing toil at the tardyst inquirying
conquer singly transfer to penniless crop(s).
There are convinced specifications which conquer press you extinguished of the self-approval zone. This has been dundivided on
purpose. There are convinced volume of the ordinance where you conquer insufficiency to do self-reinquiry as you
conquer refercogent attributcogent attributcogent attributcogent furnish answers in lectures, tute/labs.
If you do a amiable-tempered-tempered inferiortaking of this ordinance, you can elect to subjoin it as a keep-akeep-amultiply of portfolio manage future
employers. You are nature handy manage implicit employability prospects.
– yarn divine transcribers

~~~For this or similar assignment papers~~~