COSC2674程序 写作、Canvas课程程序 辅导

” COSC2674程序 写作、Canvas课程程序 辅导COSC2674/2755 Semester 1, 2020Assignment 3 SpecificationMarks allocated: This assignment will be marked out of 100 and is worth 35% of your overallmarkDeadline: Sunday 14.06.2020 (11:59 pm AEST)Submit via: CanvasWork mode: In a group of 4 (individual submissions discouraged)Submission format: .zip (No other formats will be accepted)Online demo: Week 15 Monday – Friday (No Demo No marks)0 READ THIS FIRSTThe real-life projects that You will face in Industry never come with crystal clear, direct list ofinstructions in a linear manner. In fact, the reality is far from that, the project requirements oftencome in bits and pieces from often a confused client who thinks that they know everything.It is the job of requirement engineers to elicit the requirements. Business Analysts then spend goodamount of time clarifying these requirements and creating more sensible, doable and negotiable listof deliverables.When you read the specifications For this assignment, you will realise that some of the ones mayhave multiple ways of implementing them (just like in real life software development). So instead ofblaming it on the specifications, clarify the requirement(s) by posting in discussion board.Do not start this assignment late, you have about four weeks to complete it which is morethan enough time to do well and make sure that you use this time judiciously. Starting work atthe last minute will only lead to poor outcome(s).There are certain specifications which will push you out of the comfort zone. This has beendone on purpose. There are certain parts of the assignment where you will need to do selfresearchas you will not find answers in lectures, tute/labs.If you do a good job of this assignment, you can choose to add it as a part of portfolio forfuture employers. You are being prepared for potential employability prospects.School of Science / CS ITCOSC2674作业 写作、Canvas课程作业 辅导、Python程序语言作业调试、Python作业 写作1 ScenarioYour team has been contacted by a car share company to develop an automatic Car ShareSystem. This system is used to book, find and unlock and lock a car. In addition, the customercan report some issues with the car to help the company to maintain the cars. You will create anapplication for four types of Users: customer, company manager, engineers and systemadministrator.In this assignment,For this assignment, you will be making extensive use of the Google Calendar API( httpss://developers.google.com/calendar/v3/reference/) to work with your Raspberry Pi.You will also be using Google Cloud IoT Platform ( httpss://cloud.google.com/solutions/iot/).In summary, the implementation of this assignment involves the following components: Writing a website application using Pythons microframework Flask Writing your own API using Pythons microframework Flask Python documentation tools such as Sphinx Practice third party API Unit testing in Python AI features such as object-detection system Programming with Cloud databases Selected Software Engineering Project Management/Tools2 ImportantYou must adhere to the following requirements:a. Raspberry Pi model 4 or 3 should be used.b. You must use Python 3.* to complete the tasks. Older versions must not be used.c. You must use a version control system of some sorts such as GitHub, Bitbucket, etc. Aprivate repository is to be used ONLY.d. You must stick to The standard style guide for your Python code:( httpss://www.python.org/dev/peps/pep-0008/)e. You must attend a 30 minutes demo session. The booking schedule will be published later.You must submit the assignment prior to demo. No submission No demo No marks.School of Science / CS ITPage 3 of 83 Detail(s) of CSS3.1 High level architecture diagramNOTE: The following architecture diagram will be used for both Assignments 2 and 3.School of Science / CS ITPage 4 of 83.1 CSS featuresNOTE: You need to design the database by dividing the information into tables and turning informationitems into columns. You also need to populate some data into the tables to demonstrate you have completedthe requirements for fair judgement from reviewers.This is a website application that runs on MP. It can only be accessed by the employees inside thecompany. The website makes use of FLASK RESTful API to communicate with cloud database onGCP (Google Cloud IOT platform).For system admin: Admin can login to the website to maintain the data regarding to usersand cars.The system admin is able to:- View car rental history- Search users and cars- Add, remove and modify information of users and cars- Report car with issue, then the engineer can find and fix the problemFor company manager: The manager can login to the website and capture key information bylooking at visualisation dashboard. Upon logging in, a dashboard webpage will be shown. In thedashboard webpage, you need to demonstrate 3 types of visualisation graph (e.g. line chart, barchart). They are able to indicate business status to help manager making business decision. Youneed to decide what kind of information matters regarding to company management. You mightneed to do some research to find out which indicator can help making a right decision (e.g. DailyActive User, Percentage of usage for each car per day).Note: All data must be retrieved through RESTful API. In the other word, the visualisation might bechanged whenever the data behind is updated.For engineer: The engineers take responsibility to repair the reported cars. They will receive anotification via email once admin reported a car that is needed to be repaired. After that, theengineer can login to the system to check out and find the cars location.The engineer is able to:- Login- Check the reported cars location in the web pageThe car will be unlocked automatically when the engineer close to the car (you will be asked toutilise Bluetooth ID to solve this problem). The AP attached in the car will have the ability to detectQR code carried by engineers in order to retrieve their personal information, which will helpcompany to know who has done what.YOU ARE NOT ALLOWED TO USE ANY OTHER PLATFORM WITHOUT PRIORPERMISSION.School of Science / CS ITPage 5 of 84 TasksPart A (55 marks)You will now implement a web-based system on MP.1) (5 marks) An option to login to the system for three type of users including admin,manager, engineer. They will be directed to different web pages regarding to their usertype.Note: The username and password must be stored in an encrypted (you may hash andsalt) format. In addition, the website will recognize their permission to avoid incorrectoperation.2) (10 marks) Once the admin login successfully, the system should display a menu whichwill allow admin to manipulate the data regarding to users and cars.They will be able to:- View car rental history- Search and view- Add, remove and update- Report cars with issue- logoutYOU WILL RECEIVE ZERO for storing data in a local database.All the car and user related information is stored in a Cloud-based database hosted onGoogle Cloud IoT Platform (GCP). It is your responsibilities to make sure that you do notexceed the free tier limit on the GCP.View history:Be able to show a list of cars rental history.Search and View:Be able to search car or user by any of the properties and display fields neatly (e.g.,columns aligned) in the web page.Add, remove and update:Be able to edit information of cars or users.Report cars with issue:Be able to select and report cars with issue in the car view.3) (5 marks) Develop and implement a robust input validation scheme.4) (3 marks) Design database and populate some data based on the requirements.Make sure that the database is normalized – this means if you only have one table, you willlose marks. The car and user data are stored on a cloud environment namely the GooglesGCP IoT platform (Google Cloud Platform).School of Science / CS ITPage 6 of 85) (5 marks) Create your own RESTful API to communicate with the cloud database.Note: All database operations related to data retrieve and update must utilise API to talk tothe cloud database.6) (6 marks) Design and demonstrate three different types of visualisation graph that mattersto decision making in dashboard page.7) (3 marks) Send an email to engineers email address using Pushbullet API when a vehiclewith issue is reported by admin.8) (3 marks) Once the car is reported, the location of the car needs to show in Google Map ofengineers page, which will guide engineer to find the car.9) (5 marks) Complete documentation using Sphinx.10) (10 marks) Professional use of GitHub from day 1 of the development Trello board for the development cyclePart B (25 marks)1) (10 marks) Implement an automatic identification system by using Bluetooth in AP, whichwill help engineer to finish their work easily. (There is one clue for you, the MAC addressof Bluetooth is unique. For more information, you need to do some research on your own.)Note: Some devices can fake the MAC address, but we will not judge you regarding to thesecurity issue.2) (10 marks) Add the voice/search feature to search the cars in MP. This is for the admin whois looking to find a specific car. You must use the Googles Assistant SDK to complete thispart.3) (5 marks) Complete documentation using Sphinx, Trello board and Git Hub for this part.Part C (10 marks)1) (7 marks) Implement an object-detection console-based system in AP. The system canretrieve engineers profile by detecting QR code carried around. You may have to useOpenCV and other QR related frameworks (ZBar etc.)Note: If all of your team members do not have a USB camera, There is a solution for you,you can use the QR code picture saved in local file system to test the system performance.2) (3 marks) Complete documentation using Sphinx, Trello board and Git Hub for this part.Part D (10 marks): Unit TestSchool of Science / CS ITPage 7 of 81) (10 marks) Complete unit test suite for the whole project (i.e., A, B, C parts). This iswhere you can decide what kind of unit tests are required.5 Adding a README fileIn order to get fair marks, it is your responsibility to make sure that all your effort will be fairlyjudged. You must have a README.md file written in markdown format in your project root path,which will guide reviewer go through your project smoothly.- Adding a README file to introduce your project.- Write an instruction of your project in the README.md.- Username and password of 3 types of user are included in the README.md.- Report your repository usage in GitHub by attaching some screen shots in README.md.- Report your Trello board usage by attaching some screen shots in README.md.- Well organised file structure and also separate website and API code into two folders.- Make sure having one main method to run in main.py.The last but most important thing is to make sure that your program is runnable. Besides, you needto have a requirement.txt file in your project to show which pre-request package are needed toinstall. You can browse GitHub to get some idea what requirement.txt is and how it can be used.6 Who does whatPlease include the evidence of who does what in this assignment, i.e., include a file explaining whatspecific task each team member did. The evidence needs to be consistent to your GitHub and Trelloboard. If not consistent, your maker may deduce marks. Although each member did different tasks,all the members should know each others tasks.7 Late submission and Extensiona. A penalty of 10% per day of the total marks will apply for each day late, including bothweekend and weekdays.b. After five days, You will receive a zero for the whole assignment.c. Extension requests should only be emailed to the lecturer.d. Extension offered to a group member(s) does not qualify for a global extension for thewhole of group.8 PlagiarismAll assignments will be checked with plagiarism-detection software; any student found to haveplagiarised would be subject to disciplinary action. Plagiarism includes submitting work that is not your own or submitting text that is not your own allowing others to copy your work via email, printouts, social media etc. posting assignment questions (in full or partial) on external technical forums copying work from/of previous/current semester studentsSchool of Science / CS ITPage 8 of 8 sending or passing your work to your friends posting assignment questions on technical forums to get them solved someone else writing your code (i.e., contract cheating)A disciplinary action can lead to a meeting with the disciplinary committee a score of zero for the assignment a permanent record of copying in your personal university records and/or expulsion from the university, in some severe casesAll plagiarism will be penalised. There are no exceptions and no excuses. You have been warned.如有需要,请加QQ:99515681 或邮箱:99515681@qq.com

添加老师微信回复‘’官网 辅导‘’获取专业老师帮助,或点击联系老师1对1在线指导