1. Homepage
  2. Programming
  3. COMP636 Software Development: Web App Assessment - Booking Web System

COMP636 Software Development: Web App Assessment - Booking Web System

Engage in a Conversation
LincolnCOMP636Software DevelopmentWeb AppPythonFlaskBootstrapCSSJavascript

COMP 636: Web App Assessment
Milestone submission due: 5pm Friday 10 May 2024 via Learn
Final submission due: 
5pm Wednesday 12 June 2024 via Learn
Worth: 50% 
of COMP636 grade
Submit via Akoraka | Learn, with files set up and available on GitHub and pythonanywhere.
CourseNana.COM

Introduction CourseNana.COM

Selwyn Campground have decided that they want to upgrade their internal system from the text- based system to a web-based system. Your task is to develop a small Web Application to help them manage customers, sites, and bookings. You will also write a report. CourseNana.COM

The system will only be used by office staff and does not require any form of login or authentication. Bookings are recorded in the system by making an entry for each night a site is booked. CourseNana.COM

Download the Web Application Project Files from the Assessment block on the Learn page. These will get you started, including for the Milestone. You will add more routes and templates as you develop your app. CourseNana.COM

The requirements presented are not exhaustive, you are expected to apply critical thought to them as a key aspect of the software development process. Ask clarifying questions in the in-person or online support sessions. CourseNana.COM

Important CourseNana.COM

This is an individual assessment. You may not collaborate or confer with others. You may help others by verbally explaining concepts and making suggestions in general terms, but without directly showing or sharing your own code. You must develop the logical structure and the detail of your code on your own. Code that is copied or shares a similar logic to others will receive zero marks for both parties. The University policy on Academic Integrity can be found here. CourseNana.COM

Requirements CourseNana.COM

  1. 1)  Create a private github repository called scg, this repository should be pulled locally and to pythonAnywhere. Your web application should be in a top level directory called scg (automatically created when you pull your repository), and your MySQL database should be called scg. You are required to commit and push changes from your local computer to your GitHub repository at least twice a week between milestone and final submissions. CourseNana.COM

  2. 2)  Host your web app on pythonAnywhere. CourseNana.COM

  3. 3)  Complete the camperlist.html template to display a list of campers who are camping on a CourseNana.COM

    particular night. The template should use bootstrap for formatting. CourseNana.COM

  4. 4)  Complete the /booking/add route to insert a booking into the database. CourseNana.COM

  5. 5)  Create templates and routes to allow customers to be searched and for the results to be CourseNana.COM

    displayed. CourseNana.COM

  6. 6)  Create templates and routes to allow customers to be added to the system, and ensure CourseNana.COM

appropriate validation is in place. CourseNana.COM

  1. 7)  Create or modify templates and routes to allow customer information to be edited. CourseNana.COM

  2. 8)  Create templates and routes to display a report that shows the total number of nights that a CourseNana.COM

    customer has booked (past, current and future booking combined). The report should show the name of the customer, the total number of nights booked and the average occupancy for this customer. CourseNana.COM

  3. 9)  Create a report as described in the Report section to be hosted in your github repository. CourseNana.COM

Report CourseNana.COM

Your report must be created using GitHub Markdown format and saved in the README.md file of your GitHub repository. It does not need to be a formal report – a tidy document using the following headings will be sufficient. Write a brief project report that includes: CourseNana.COM

• Design decisions: CourseNana.COM

Discuss the design decisions you made when designing and developing your app: what design options you weighed up, why you designed your app the way that you did, your decisions about the routes, templates, navigation, broad layout, etc., that you made. CourseNana.COM

For example, when the edit button is clicked on a page, does that open a different template for editing or does it use the same template with IF statements to enable the editing? Did you use GET or POST to request and send data, and how and why? These are two examples, you do not have to include them in your own discussion. You will have considered many design possibilities; write in plain language about your own personal decisions. CourseNana.COM

Note your decisions as you work, so you do not forget them! CourseNana.COM

  • Database questions: Refer to the supplied scg_local.sql file to answer the following questions: CourseNana.COM

    1. What SQL statement creates the customer table and defines its fields/columns? (Copy and paste the relevant lines of SQL.) CourseNana.COM

    2. Which line of SQL code sets up the relationship between the customer and booking tables? CourseNana.COM

    3. Which lines of SQL code insert details into the sites table? CourseNana.COM

    4. Suppose that as part of an audit trail, the time and date a booking was added to the database needed to be recorded. What fields/columns would you need to add to which tables? Provide the table name, new column name and the data type. (Do not implement this change in your app.) CourseNana.COM

    5. Suppose the ability for customers to make their own bookings was added. Describe two different changes that would be needed to the data model to implement this. (Do not implement these changes in your app.) CourseNana.COM

  • Image sources: It is not necessary to use any external images in your web app, but if you do, ensure you reference the image source in your report. CourseNana.COM

Data Model CourseNana.COM

Model Notes: CourseNana.COM

bookings.customer bookings.site CourseNana.COM

* the ‘Foreign Key’ CourseNana.COM

Project Constraints CourseNana.COM

You must: CourseNana.COM

customers.customer_id sites.site_id CourseNana.COM

Child table.field * CourseNana.COM

(refers to) CourseNana.COM

Parent table.field CourseNana.COM

  • Use only the COMP636 technologies (Python & Flask, Bootstrap CSS, MySQL). Do not use SQLAlchemy or ReactJS (or other similar technologies) in your solution. CourseNana.COM

  • Use the provided SQL files to create a database within your local MySQL and in pythonanywhere. Each script also creates initial data in the database. CourseNana.COM

You can re-run the appropriate SQL script at any time to reset your data back to the original version and remove any changes you made to it. CourseNana.COM

  • Use the provided files to develop a Flask Webapp that:
    Must be in a top level folder called scg’ (locally and on pythonanywhere). Meets the functional requirements.
    Is appropriately commented.
    Connects to your database.
    Uses %s to insert values into SQL statements.
    Provides appropriate routes for the different functions.
    Provides templates and incorporates HTML forms to take input data.
    Uses Bootstrap CSS to provide styling and formatting. CourseNana.COM

  • Include your report as outlined above.
    3
    CourseNana.COM

Do not use any scripts, including JavaScript, except for the <script> at the bottom of base.html. Do CourseNana.COM

not write your own CSS (use Bootstrap). CourseNana.COM

This report must be created using GitHub Markdown and saved in the README.md file of your GitHub repository. CourseNana.COM

• Create a private GitHub repository called scg that contains: CourseNana.COM

All Python, HTML, images and any other required files for the web app. CourseNana.COM

requirements.txt file showing the required pip packages. CourseNana.COM

Your project report as the README.md document. CourseNana.COM

Your repository must have a .gitignore file and therefore not have a copy of your virtual environment. CourseNana.COM

submission. CourseNana.COM

• Host your system (including database) using pythonanywhere. Add lincolnmac as your “teacher” via Account > Education. The webapp must be in a folder called scg CourseNana.COM

Project Hints CourseNana.COM

Create your GitHub repository first, and create all your required code and files in your local folder. You are required to commit and push changes from your local computer to your GitHub repository at least twice a week. CourseNana.COM

pythonanywhere is case sensitive so test your app early – we will mark the pythonanywhere version of your app. CourseNana.COM

Spend some time sketching the structure of your application before you start developing. Think about which features could share the same (or nearly the same) templates. Remember that you can nest templates (templates within templates). CourseNana.COM

Take note of your design decisions, compromises, workarounds, etc. for your report as you develop your web app. Otherwise afterwards you may struggle to remember all of the issues you worked through, when it comes time to discuss some of those design decisions. Do not include masses of insignificant decisions in your report. CourseNana.COM

The requirements in this project brief are not exhaustive, you are expected to apply critical thought and think about the user experience of the web application. CourseNana.COM

Milestone Submission (5 marks, due 10 May) CourseNana.COM

This milestone is to ensure that your app is correctly configured, and any set-up issues are resolved early. The milestone does not require any changes to the code and templates provided. By this date you only need to sync and share the provided files on GitHub, provide us teacher access to your PythonAnywhere and host the provided code on PythonAnywhere so that the web app and provided routes run correctly. CourseNana.COM

Submit the following via the link on the Learn COMP636 page: CourseNana.COM

• • CourseNana.COM

For this CourseNana.COM

• • • • • • • CourseNana.COM

Your pythonanywhere URL (e.g., joebloggs1987654.PythonAnywhere.com/ ) Your GitHub username and repository name (e.g., joe-bloggs-1987654/scg) CourseNana.COM

submission you must have: CourseNana.COM

Your GitHub repository set up correctly. CourseNana.COM

The provided files loaded in GitHub and in PythonAnywhere. CourseNana.COM

Your database set up on PythonAnywhere. CourseNana.COM

Your app hosted on PythonAnywhere. CourseNana.COM

The /booking route working (as provided in the files). CourseNana.COM

Final Submission (95 marks, due 12 June)
CourseNana.COM

Submit your URLs again via the link on the Learn COMP636 page: CourseNana.COM

  • Your pythonanywhere URL (e.g., joebloggs1987654.pythonanywhere.com/ ) CourseNana.COM

  • Your GitHub username and repository name (eg, joe-bloggs-1987654/scg ) CourseNana.COM

    This confirms where your work is, and tells us that your final submission is ready for marking. CourseNana.COM

    Final Submission Marking CourseNana.COM

    Report and General Project Aspects (25 marks): CourseNana.COM

    Project Element Marks Available CourseNana.COM

Project Report – Part 1: CourseNana.COM

• Report Database Questions sufficiently CourseNana.COM

answered. Spelling, presentation, etc. CourseNana.COM

marks CourseNana.COM

Consistent ‘Look and Feel’ (interface, Bootstrap styling & templates, ease of use, etc). No extra css or scripts. Comp636 technologies only. CourseNana.COM

marks CourseNana.COM

TOTAL 25 marks CourseNana.COM

Functional Project Aspects (70 marks): CourseNana.COM

Within each of the functional areas (see table below with indicative marks) we are looking for: CourseNana.COM

  • Functionality working as specified in the requirements and demonstrating critical thought about the implementation and user experience. CourseNana.COM

  • Well commented and formatted HTML, SQL, and Python code throughout. CourseNana.COM

  • A user interface that looks and functions to a professional standard, including Bootstrap CourseNana.COM

    colour and styling choices, sensible navigation and appropriate sorting of lists. CourseNana.COM

  • ID numbers for table rows are mainly for internal system use only and should only be made CourseNana.COM

    visible to system users when mentioned in the requirements. CourseNana.COM

  • Data Validation on forms. Wise choice of form elements. CourseNana.COM

  • Well-structured SQL queries. CourseNana.COM

  • Appropriate naming, both of variables and labels. CourseNana.COM

CourseNana.COM

An indication of marks (may be adjusted when marking) : CourseNana.COM

Item CourseNana.COM

Access Navigation List campers CourseNana.COM

Customer - search Customer - add Customer - edit Summary report TOTAL CourseNana.COM

Functionality CourseNana.COM

Approx. Marks CourseNana.COM

Home page exists via ‘/’ route, with appropriate layout and no 1 broken links. CourseNana.COM

Appropriate use of extending templates. Sensible, well laid-out 5 navigation throughout. CourseNana.COM

Shows appropriate list of campers for that night including 7 occupancy.
Well formatted list with appropriate styling using bootstrap.
CourseNana.COM

Customers can be searched, including partial text matches. 8 Appropriate display of results. CourseNana.COM

Appropriate interface, forms, and validation. Customer is added 15 correctly. CourseNana.COM

Appropriate interface to choose customer. 12 Sensible updates can be made, with suitable validation. CourseNana.COM

Can select customer, and with appropriate interface. 12 Suitable display and correct results. Considered order and layout. CourseNana.COM

Add booking CourseNana.COM

Route implementation added to add a database row per night of booking.
Appropriate confirmation page or redirection in place.
Database is successfully updated.
CourseNana.COM

70
You may modify data in your database for testing purposes and may add new data, but you must not CourseNana.COM

modify the schema.
Markers will modify or add alternative data to your database as part of the marking process.
CourseNana.COM

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
Lincoln代写,COMP636代写,Software Development代写,Web App代写,Python代写,Flask代写,Bootstrap代写,CSS代写,Javascript代写,Lincoln代编,COMP636代编,Software Development代编,Web App代编,Python代编,Flask代编,Bootstrap代编,CSS代编,Javascript代编,Lincoln代考,COMP636代考,Software Development代考,Web App代考,Python代考,Flask代考,Bootstrap代考,CSS代考,Javascript代考,Lincolnhelp,COMP636help,Software Developmenthelp,Web Apphelp,Pythonhelp,Flaskhelp,Bootstraphelp,CSShelp,Javascripthelp,Lincoln作业代写,COMP636作业代写,Software Development作业代写,Web App作业代写,Python作业代写,Flask作业代写,Bootstrap作业代写,CSS作业代写,Javascript作业代写,Lincoln编程代写,COMP636编程代写,Software Development编程代写,Web App编程代写,Python编程代写,Flask编程代写,Bootstrap编程代写,CSS编程代写,Javascript编程代写,Lincolnprogramming help,COMP636programming help,Software Developmentprogramming help,Web Appprogramming help,Pythonprogramming help,Flaskprogramming help,Bootstrapprogramming help,CSSprogramming help,Javascriptprogramming help,Lincolnassignment help,COMP636assignment help,Software Developmentassignment help,Web Appassignment help,Pythonassignment help,Flaskassignment help,Bootstrapassignment help,CSSassignment help,Javascriptassignment help,Lincolnsolution,COMP636solution,Software Developmentsolution,Web Appsolution,Pythonsolution,Flasksolution,Bootstrapsolution,CSSsolution,Javascriptsolution,