北美代写,Homework代写,Essay代寫-准时✔️高质✔最【靠谱】

首頁-成功案例-Database數據庫
IAB207: Rapid Web Application Development Developing an Event Website
時間: 2021-06-28 08:44:13

Overview The last assignment for this unit is a group assignment in which you will develop a web application that uses the following framework: 1. HTML, Bootstrap and CSS 2. Flask Templates 3. Flask WTForms 4. Flask SQLAlchemy 5. Flask Login You will form groups of 4 students.For this assignment, your group will need to nominate an event management Website designed by one of your team members in the earlier assignments of the unit. Project Deliverables Please read the below deliverables (requirements) carefully as every team will be expected to address each of the requirements in their final submission. You are free to re-use the code from the individual assignments of one of the team members to develop all pages again. Ideally, you may choose to re-use your previous work as it will save you time. As part of the project, the following needs to be developed and demonstrated: Part 1: Project Requirements The following are the features required in the Event Management Web application 1. A landing page which clearly conveys what kind of events the website promotes, as well as some upcoming events. Also, your landing page must allow users to browse the events by category (you are free to support this functionality using a drop-down menu or some other intuitive way). Note: In addition, you might include a text-based search functionality. However, this is an advanced feature and is optional to those who would like to include it. 2. The events listed on the landing page should show a useful overview of the events with information in accordance with the design (including event status). . 3. Anybody should be able to choose an event and view the details of it. The event details page should have an image of the event, description of the event, the date, and any other specific information that is helpful to the user and is in accordance with the design and requirements. 4. To buy tickets, the user should be logged in as a customer. The customer should provide details such as the quantity of the tickets to be booked. An order is generated by the application, and the order detail (order id) is provided to the user for reference. Note: a. If the user buys tickets equal to the tickets available, the event will be labelled ‘Booked out’ b. If user enters the quantity of tickets that exceeds the tickets available, the application should inform the user that order cannot be placed. 5. A customer can post a comment (a review) of the event. The author, the review, and the date the review was posted can be seen by all users i.e. any user can view the reviews posted by other customers on the event. 6. If logged in an administrator can create an event by entering relevant details. In addition, an event must have one of the following status: Upcoming, Inactive, Booked, or Cancelled. An administrator should be able to update the details of the event (including the status). They can also delete events. 7. A logged-in user can log-out of the application 8. A user can register to the events website as either a customer or an administrator. The user should provide details of name, email-id, password, contact number, and address. 9. Error Handling: a. Handle instances in which a page is not found, and internal server errors within a page that allows users to navigate back to the landing/home page. b. A user should be authenticated (via login) as either a customer or administrator (these are distinct roles) to do more than view the site. c. User input validation – empty strings, incorrect input for specific fields, etc. should be correctly managed. Use the post-redirect-get pattern when posting forms. All your pages should include a navigation menu and should utilise data that is dynamically created and stored in a database solution (use Flask-SQLAlchemy). NB: It is up to you to decide if all administrators can edit all events or just the ones that they themselves created. If the former, then each event should have a “created by”. Project Management Teams are required to maintain a list of tasks and ensure that each task is assigned to individual members within the group in an equitable way. You are free to allocate a task to one or more members in the team. In the final submission report, teams will be required to clearly demonstrate the contribution of individual members to the tasks. You are recommended to have a git repository and share it with one of the tutors allocated to your team. We will provide the details on how to setup a git project shortly. Please note: Each team will be sent a peer review feedback form. Each member will be reviewed by all other members of the team. The plan and the peer review feedback will be considered when allocating marks to team members. All team members need not get the same marking for the assignment. Please consider this when reviewing your team member An example of a task definition, allocation and progress is shown below: Task Week1 Week2 Week3 Week4 Week5 Landing Page Liam: Worked on the html template Liam: Worked with the dynamic content Completed verified all menu items Registration Sheru: Complete the form Sheru: Tested the form validations Integrated the Flask-login support Create item Liam: Added create item support Database model Abdul: Completed the models.py with all DB elements Abdul: Tested all the objects and their relationships Added Flasklogin support Sheru: updated the database model Abdul: Checked all the database updates, queries Error Handling Development Guidelines 1. Develop code that is well written with reasonable comments/documentation. 2. You may use the assessment starter code zip file that is provided to organize your code better. 3. Implement HTML, CSS, Bootstrap, and Python Flask (with other Flask modules) only. Database Design A database solution will be required to achieve desired functionality in your solution. Your database design will consist of four tables: 1. An event table containing the event details – you can add more tables to store moreinformation or can choose to keep it simple if you see fit. 2. A booking table storing information about the price, qty, date with relationship to a user and item. 3. A user table storing information about user, including their login credentials. 4. Comment table 5. Any other tables that you decide to include to normalise data. (but we recommend keeping things as simple as possible) Things to note ? All code should be written and contributed to by all team members. ? Use of JavaScript is optional and not required. None of the functionality described in this assessment relieson JavaScript, however if you want to support some additional interactive functionality, you are free to do implement it using JavaScript. Submission Instructions Source Code Each team is required to submit a ZIP file containing the following: 1. A project folder containing the following: a. The Submission Report in pdf or word that includes: ? Team declaration (so we can double check who is in your team) ? Table showing tasks completed by whom 2. Your application code in a folder. The code should be able to be executed by running a main.py located just above the package folder. You must include a working sqllite db file in the package folder with some events and users already created (do not expect the tutor to create the database 3. Please do not include any venv directory (Python virtual environment) of any Python installation. Ensure also that you check your file size before uploading. Marking Web Application (40 marks) Please note that the final mark of each person in the team gets is based on their contribution and uses the rating provided by the team members. Requirements Site is convincing Fully functional page without errors. All requested requirements are fully met. A submission of this standard succeeds in the fundamental requirements but also looks convincing to a potential customer (e.g., fully responsive). The solution is thorough, comprehensive, robust and well tested. Consistent with MVC. Site is not fully convincing Page is partly incomplete or has some minor errors present. Most of the requirements have been met and the page is functional with a few errors present (i.e. the site still works and the errors only mildly impair the usage of the solution). The solution is good and relatively convincing to a potential customer. Site is unconvincing Requirements misunderstood or ignored, page does not meet requirements. A submission of this standard would not function (or partially function) as a minimal viable solution. There would be presence of serious errors that would impair the solution’s basic processes. Landing page 6 4 2 Search e.g. by category and other ways 3 2 1 Event details page 6 4 1 Booking an event 6 3 1 Commenting, viewing comments 5 3 1 Admin status/update/create event 8 5 2 Register a user 3 2 1 Login/Log-out of user/Error handling 3 2 1 TOTAL 40 2

ICT167 Principles of Computer Science TM, 2021 Assignment 1 (worth 25% of unit assessment)
時間: 2021-06-27 08:42:12

Due Date: Midnight, Saturday (Teaching Week 7) All Students: Submit the Assignment via LMS by the due date. Late penalty: 10% per day penalty for delayed submissions unless prior extension of deadline is obtained from the unit coordinator. You should keep a copy of your work. Your submission must include a completed assignment cover sheet. An electronic copy of the assignment cover sheet is available at the unit LMS site. This assignment consists of one question. All parts of the question should be attempted. You may be asked to demo the program to your lecturer and answer some questions. Make sure you understand everything you are submitting. If you are requested to demo, you will only receive the mark after you have attended the demo session. Your examination may base on your assignment by asking you to modify the functionality of your program (details later in the term). You have to know your code well to be able to answer such question. References and Pre-requisites: ? You will need to familiar yourself with materials covered in Topics 1 to 6 for this assignment. You are advice to read ahead if you want to finish your assignment earlier. ? You will need to understand the concept of Array from your prior unit and implement it using Java. ? Lab Practices 1 to 5 have been attempted, even if not submitted. ? Textbook Chapters 1 to 7 If you are unsure of anything about the assignment question, you need to get clarification early. Read this document very carefully and start to discuss with your lecturer. OBJECTIVES: ? Construct algorithms to solve problems using a combination of sequence, selection and iteration constructs. ? Apply the Object-Oriented design paradigm to construct solutions in a modular way. ? Implement such a design using the JAVA programming language. ? Demonstrate the basic understanding of using array. ? Searching in the array of class objects. Worth: This assignment is worth 25% of the total assessment for the unit. This is an individual assignment and must be completed by you alone. Any unauthorised collaboration/collusion may be subject to investigation and result in penalties if found to be in breach of University policy. Page 2 of 9 Question This question reinforces concepts from Lab Practices 1 - 5. Best practice of Class and Method design should be demonstrated. This will require a good understanding of class design concepts and method design concepts: code re-use, high cohesion and low coupling. Before attempting this question, complete the pre-requisiteslisted on the first page of this document. Assignment 1 uses O-O design implemented in Java. You will need to use a user-defined class, as an array of such class objects will be required. User-defined Class: You will design and implement your own data class. The class will store data that has been read as user input from the keyboard (see Getting Input below), and provide necessary operations. As the data stored relates to monetary change, the class should be named MoneyChange. The class requires at least 2 instance variables for the name of a person and the coin change amount to be given to that person. You may also wish to use 6 instance variables to represent amounts for each of the 6 coin denominations (see Client Class below). There should be no need for more than these instance variables. However, if you wish to use more instance variables, you must provide legitimate justification for their usage in the internal and external documentation. Your class will need to have at least a default constructor, and a constructor with two parameters: one parameter being a name and the other a coin amount. Your class should also provide appropriate get and set methods for client usage. Other methods may be provided as needed. However, make sure they are necessary for good class design; you must provide legitimate justification for their usage in the internal and external documentation. In particular, your class should NOT include Input and Output methods. The only way to get data out of a data class object to the client program is to use an appropriate get method. The data class methods must not write data out. Data should be entered into a data class object via a constructor or an appropriate set method. When designing your MoneyChange class, use an UML class diagram to help understand what the class design needs. Getting Input: Input for the client program will come from keyboard (entered by the user). The input should consist of: the name of a person, and a coin value (as an integer). The program should validate the input coin value to ensure that it is in the range 5 to 200, and is evenly divisible by 5. Names are oneword strings. You should ask the user to enter the required information using a loop with a question after each loop iteration to check if the user wants to end the input of data. It is recommended for the user to input at least 9 such data – this can be conveyed to the user using a message before entering the loop. NOTE: for the purpose of testing the program by your tutor, you should provide a method in the client class that hardcodes data into at least 10 MoneyChange objects and stores these objects into the array provided by your program. In this case, your tutor would not need to manually key in the data to test the program when assessing your work. Thus, you should provide a call to this method (commented out) in the main function; this can be uncommented by your tutor as needed. Page 3 of 9 Example of inputs as follows: Recommendation: Please enter at least 10 records to test the program. Please enter the name of the person: Jane Please enter the coin value for the person (range 5 to 200, multiple of 5): 30 Do you have more person to enter (Y/N): Y Please enter the name of the person: John Please enter the coin value for the person (range 5 to 200, multiple of 5): 50 Do you have more person to enter (Y/N): Y Please enter the name of the person: Fred Please enter the coin value for the person (range 5 to 200, multiple of 5): 94 Incorrect coin value. Must be in the range 5 to 200, and multiple of 5. Please enter the name of the person: Wilma Please enter the coin value for the person (range 5 to 200, multiple of 5): 100 Incorrect coin value. Must be in the range 5 to 200, and multiple of 5. Please enter the name of the person: Jane Please enter the coin value for the person (range 5 to 200, multiple of 5): 35 Do you have more person to enter (Y/N): Y … (assuming this is repeated at least 10 times) Do you have more person to enter (Y/N): N … (go out of the loop) Page 4 of 9 Client Class: The client program should read the input data from the user (or the method with hardcoded inputs) and use the MoneyChange class to store the data entered. This data should be stored in a MoneyChange class object. You will need a data structure to store the MoneyChange class objects according to the number of persons entered. Thus, you are to utilize an array of MoneyChange objects. Do not use ArrayList for this assignment. It should be noted that it is possible to have the same name entered numerous times, but the coin values for such repetitions could be different. When the name is the same, it would mean the same individual, and your program should add up the coin amounts to obtain a total amount for that individual; this should be performed before computing the change to be given. Note that in this scenario, the total amount for an individual may end up being over 100, 200, 300, or more cents. Make sure you have hardcoded test cases of the above for your tutor to test for these situations. Processing would involve determining repeated names and accumulating the total for those repeated names. You must ensure that there are no objects with repeated names in the array. Then methods would need to be called to calculate the required output corresponding to the coin amounts stored in the array of objects. Output change values must consist of the following denominations: $2, $1, 50 cent, 20 cent, 10 cent and 5 cent coins. The program should aim to give as much of the higher valued coins as possible. A poor solution for an input of 30 cents is to give six 5 cent coins. The better solution is to give a 20 cent coin and a 10 cent coin. Once the data input has been completed, your program should then display a menu screen as illustrated below. The program will continue to show the menu and execute the menu options until "Exit" is selected by entering the value 5 at the menu prompt. 1. Enter a name and display change to be given for each denomination 2. Find the name with the smallest amount and display change to be given for each denomination 3. Find the name with the largest amount and display change to be given for each denomination 4. Calculate and display the largest number of coin denomination, and the total number of the coin 5. Exit When the user enters the value 1 at the menu prompt, your program will ask for a name. As an example, if the user enters the name Jane (as in the example input above), the program will output: Customer: Jane 165 cent Change: $1: 1 50 cent: 1 10 cent: 1 5 cent: 1 N.B. change values of 0 are not shown for screen output.If the user enters a non-existent name (eg: Donald) at menu option 1, which would therefore not be in the array of objects, your program will print: Name: Donald Not found After processing the output for menu option 1, the menu is re-displayed. When the user enters 2 at the menu prompt, your program will search all objects in the array to find the object with the smallest coin amount. Then the program will output the name for the person, and the denomination breakdown of their change. If there is more than one person who are having equal smallest coin amount, just return the first person found in the array. After processing the output for menu option 2, the menu is re-displayed. When the user enters 3 at the menu prompt, your program will search all objects in the array to find the object with the largest coin amount. Then the program will output the name for the person, and the denomination breakdown of their change. If there is more than one person who are having equal largest coin amount, just return the first person found in the array. After processing the output for menu option 3, the menu is re-displayed. When the user enters 4 at the menu prompt, your program will access all objects in the array to calculate and display only the largest number of coin denomination, and the total number of coins for the largest denomination. If there are more than one coin denominations having equal amount, you will need to list down all of them. After processing the output for menu option 4, the menu is re-displayed. For example: Customer: Jane 65 cent Change: 50 cent: 1 10 cent: 1 5 cent: 1 Customer: John 75 cent Change: 50 cent: 1 20 cent: 1 5 cent: 1 Menu option 4 should return as follows. The largest number of coin denomination is: 50 cent 5 cent Page 6 of 9 The total number of 50 cent coin is: 2 The total number of 5 cent coin is: 2 When the user enters 5 at the menu prompt, your program will write an appropriate farewell message to screen and exit. The client program requires the submission of a structure chart, a high-level algorithm and low-level algorithm (i.e. suitable de-compositions of each step in the high-level algorithm). Important Points: You need to provide a test plan to fully test your algorithm and program. As well as keyboard input, do not forget to provide a method in the client class that hardcodes data into at least 10 MoneyChange objects and stores these objects into the array provided by your program. Think carefully about how to construct this test data. If done well, you should be able to do nearly all required testing with this set of test data. Your solution (user-defined class, client c

在線客服

售前咨詢
售后咨詢
微信號
Essay_Cheery
微信
墨尔本assignment代写,代写毕业论文,paper代写-51作业君 北美代写,程序代做,程序代写,java代写,python代写,c++代写,c代写 英国代写paper,python代写,Report代写,编程代写-程序代写网 北美代写essay,程序代写,Java代写代做,Java代考-焦点论文 澳大利亚essay代写,编程代写,代码代写,程序代写-三洋编程 加拿大essay代写|程序代写代做||Python代写|Matlab代写-Meeloun 澳大利亚代写,代写essay,代写毕业论文,留学生代写-小马代写 日本代写,北美作业代写,新加坡代写,essay代写-无时差服务 加拿大代写,作业代写,exam代考,Report代写,代写文章-最靠谱最低价 新加坡代写,北美CS代写,python代写,CS编程代写-新顾客立减20%