COSC2674/2755 Semester 1, 2020 Task 2 Specification
Marks allotted: This project can be marked out of 100 and is value 35% of your total mark Deadline: Sunday 17.05.2020 (11:59 pm AEST) Submit by way of: Canvas Work mode: In a gaggle of four (particular person submissions discouraged) Submission format: .zip (No different codecs can be accepted) On-line demo: Week 11 Monday – Friday (No Demoà No marks)
zero READ THIS FIRST
The true-life initiatives that you’ll face in Business by no means include crystal clear, direct checklist of directions in a linear method. The truth is, the truth is way from that, the challenge necessities usually are available in bits and items from usually a confused shopper who thinks that they know all the pieces. It’s the job of requirement engineers to elicit the necessities. Enterprise Analysts then spend good period of time clarifying these necessities and creating extra wise, doable and negotiable checklist of deliverables.
If you learn the specs for this project, you’ll realise that among the ones might have a number of methods of implementing them (identical to in actual life software program growth). So as an alternative of blaming it on the specs, make clear the requirement(s) by posting in dialogue board for project 2.
Don’t begin this project late, you could have 4 weeks to finish it which is greater than sufficient time to do properly and just be sure you use this time judiciously. Beginning work on the final minute will solely result in poor consequence(s).
There are specific specs which can push you out of the consolation zone. This has been completed on function. There are specific elements of the project the place you’ll need to do selfresearch as you’ll not discover solutions in lectures, tute/labs.
For those who do job of this project, you may select so as to add it as part of portfolio for future employers. You might be being ready for potential employability prospects.
College of Science / CS & IT
Web page 2 of eight
1 State of affairs
Your workforce has been contacted by a automobile share firm to develop an computerized Automotive Share System. This technique is used to e book, discover and unlock and lock a automobile. As well as, the shopper can report some points with the automobile to assist the corporate to take care of the automobiles. You’ll create an software for 4 kinds of customers: buyer, firm supervisor, engineers and system administrator.
On this project, For this project, you can be making intensive use of the Google Calendar API (https://builders.google.com/calendar/v3/reference/) to work together with your Raspberry Pi. Additionally, you will be utilizing Google Cloud IoT Platform (https://cloud.google.com/options/iot/).
In abstract, the implementation of this project includes the next elements:
• Python documentation instruments similar to Sphinx • Observe third social gathering API • Unit testing in Python • Socket Programming • Writing your personal API utilizing Python’s microframework Flask • AI options similar to facial recognition • Programming with Cloud databases • Chosen Software program Engineering Mission Administration/Instruments
2 Necessary
You will need to adhere to the next necessities:
a. Raspberry Pi mannequin four or three ought to be used. b. You will need to use Python three.* to finish the duties. Older variations should not be used. c. You will need to use a model management system of some kinds similar to GitHub, Bitbucket, and many others. A personal repository is for use ONLY. d. You will need to keep on with the usual type information on your Python code: (https://www.python.org/dev/peps/pep-0008/) e. You will need to attend a 30 minutes demo session to get the project 2 marked. A schedule and a reserving doc can be revealed later. You will need to submit the project previous to demo. No submission à No demo à No marks.
College of Science / CS & IT
Web page three of eight
three Element(s) of CSS
three.1 Excessive stage structure diagram
NOTE: The next structure diagram can be used for each Assignments 2 and three.
College of Science / CS & IT
Web page four of eight
three.1 CSS options NOTE: It is advisable design the database by dividing the data into tables and turning info gadgets into columns. Future, you additionally want populate some knowledge into the tables to be able to illustrate the system in the course of the demo session.
For patrons: The purchasers can register, logging in, search and e book a automobile on the web-based system in MASTER PI (MP).
The consumer registration on MP is required for the first-time consumer. Within the dwelling web page of the web-based software supplies solely two choices: – registration – log in
Upon registration the small print are saved in cloud database. It’s possible you’ll use MySQL database.
Upon logging in, the consumer is now introduced with one other web page together with following capabilities: – present a listing of automobiles accessible, that you must present the detailed info of automobiles within the checklist similar to Make, Physique Kind, Color, Seats, Location, Price per hour. – seek for a automobile primarily based on physique sort or different options. – e book a automobile primarily based on automobile id, the consumer can be requested to enter reserving particulars. – cancel a reserving – logout
When the shopper arrives on the automobile booked, the Agent PI (AP) supplies two choices accessible for unlocking the automobile: – utilizing console-based system which permits them to sort within the consumer credentials or, – utilizing a facial recognition system Upon logging in, the consumer’s credential can be despatched from AP to MP by way of sockets. On the identical time, MP will verify the credential and ship the response message again to AP. The AP will execute the operation in response to the message from MP. As soon as the operation (unlock the automobile) is efficiently executed, the AP must ship a message to close by the system by way of Bluetooth, simulating notification in your sensible telephone. When the shopper leaves the booked automobile, they will lock the automobile by select one possibility: – return the automobile As soon as the “lock automobile” operation is executed, the AP must ship a message to close by the system by way of Bluetooth.
When the shopper enters and leaves the booked automobile, the Agent PI (AP) will ship message to MP to be able to change the provision of the automobile.
YOU ARE NOT ALLOWED TO USE ANY OTHER PLATFORM WITHOUT PRIOR PERMISSION.
College of Science / CS & IT
Web page 5 of eight
four Duties Half A (50 marks)
You’ll now implement both a web-based system or console menu-based system on MP and a console menu-based system on AP.
NOTE: For Duties 1, 2, and 6, you could have a alternative of console menu-based system or web-based system. The online-based system will be troublesome and time consuming whereas a console menu-based system can be simpler and fewer time consuming. For those who select the console menu-based system, you’ll rise up to 80% of the complete mark for every activity.
1) (5 marks) An choice to register a brand new consumer on MP. The username, password and different mandatory particulars (first title, final title and e mail) should be saved on cloud database. The password should be saved in an encrypted (it’s possible you’ll hash and salt) format.
2) (2 marks) An choice to login into the system and achieve entry to the appliance on MP.
three) (5 marks) Develop and implement a strong enter validation scheme.
four) (three marks) Design database primarily based on the necessities.
Guarantee that the database is normalized – this implies when you solely have one desk, you’ll lose marks. The automobile database is saved on a cloud surroundings particularly the Google’s GCP IoT platform (Google Cloud Platform).
5) (5 marks) Create your personal RESTful API to speak to the cloud database.
6) (15 marks) As soon as MP receives the login info, the system ought to show a menu which can permit the consumer to entry the reserving system:
– view the historical past of my booked automobiles – present all of the accessible automobiles – search a automobile – e book a automobile – cancel a reserving – logout
YOU WILL RECEIVE ZERO for storing knowledge in an area database.
All of the automobile associated info is saved in a Cloud-based database hosted on Google Cloud IoT Platform (GCP). It’s your obligations to just be sure you don’t exceed the free tier restrict on the GCP.
View historical past: Have the ability to present a listing of automobiles that present consumer has booked.
Search a automobile: Have the ability to search by any of the automobile’s properties and show fields neatly (e.g., column’s aligned) within the console.
Ebook a automobile:
College of Science / CS & IT
Web page 6 of eight
The makes use of want to pick which automobile they wish to e book and enter the period they wish to use. A automobile that’s booked can’t be booked once more till returned. Notice when booked an occasion ought to be added to Google Calendar, detailing the automobile, who e book the automobile and the booked period. Google calendar can be tied to the Google login of the consumer.
Cancel a reserving: The occasion added to Google Calendar can be eliminated, and the associated info within the database must be modified
7) (5 marks) Full documentation utilizing Sphinx
eight) (10 marks) Skilled use of
• GitHub from day 1 of the event
• Trello board for the event cycle Half B (20 marks)
1) (three marks) Implement Console-based system on AP, offering the performance for consumer to unlock and return the automobile.
2) (5 marks) Sending consumer’s credential from AP to MP by way of sockets. The message wants to incorporate some necessary info, similar to present date and time, username/password, automobile ID.
three) (2 marks) MP must verify the credential from AP and in addition ship again the response message by way of sockets. If the credential is appropriate, MP want to change associated details about the automobile in cloud database.
four) (5 marks) With the ability to present all of the automobile’s location by utilizing Google Map API.
5) (5 marks) Full documentation utilizing Sphinx, Trello board and Git Hub for this half Half C (15 marks)
1) (12 marks) Implement the facial recognition requirement of the system utilizing OpenCV. This is applicable to the purchasers who wish to use facial recognition authentication as an alternative of console-based authentication to unlock the automobile.
Notice: If your whole workforce members don’t have a USB digicam, beneath an answer for you. You should use the digicam in your sensible telephone to seize the face picture and ship the images to the AP. Because the picture is saved within the AP already, that you must add a menu possibility that makes use of native picture to finish authentication in you console menu-based system. Nonetheless, that you must display that the facial recognition system does work in the course of the demo session.
2) (three marks) Full documentation utilizing Sphinx, Trello board and Git Hub for this half.
College of Science / CS & IT
Web page 7 of eight
Half D (15 marks): Unit Check
1) (15 marks) Full unit take a look at suite for the entire challenge (i.e., A, B, C and D elements). That is the place you may resolve what sort of unit exams are required. 5 Demo
a. In previous to your demo, create 10-20 Automobiles by yourself (e.g., 2 Admins, four Engineers, 6 Customers). b. Login to GitHub utilizing your account and present using GitHub in the course of the demo. c. Every workforce member is anticipated to reply any query associated to any activity on this project. Your marker might deduce the mark when you fail to reply a query in a activity. 6 Who does what
Please embrace the proof of who does what on this project, i.e., embrace a file explaining what particular activity every workforce member did. The proof must be constant to your GitHub and Trello board. If not constant, your maker might deduce marks. Though every member did completely different duties, all of the members ought to know one another’s duties.
7 Late submission and Extension
a. A penalty of 10% per day of the whole marks will apply for every day late, together with each weekend and weekdays.
b. After 5 days, you’ll obtain a zero for the entire project.
c. Extension requests ought to solely be emailed to the lecturer.
d. Extension provided to a gaggle member(s) doesn’t qualify for a worldwide extension for the entire of group. eight Plagiarism
All assignments can be checked with plagiarism-detection software program; any scholar discovered to have plagiarised could be topic to disciplinary motion. Plagiarism consists of • submitting work that’s not your personal or submitting textual content that’s not your personal • permitting others to repeat your work by way of e mail, printouts, social media and many others. • posting project questions (in full or partial) on exterior technical boards • copying work from/of earlier/present semester college students • sending or passing your work to your mates • posting project questions on technical boards to get them solved • another person writing your code (i.e., contract dishonest) A disciplinary motion can result in • a gathering with the disciplinary committee • a rating of zero for the project • a everlasting document of copying in your private college information and/or
College of Science / CS & IT
Web page eight of eight
• expulsion from the college, in some extreme circumstances All plagiarism can be penalised. There aren’t any exceptions and no excuses. You’ve got been warned.