Develop and test the front- and back-end implementations for a web application.

Responsive Centered Red Button

Need Help with this Question or something similar to this? We got you! Just fill out the order form (follow the link below), and your paper will be assigned to an expert to help you ASAP.

Your task is to develop and test the front- and back-end implementations for a web application.
Your application must be written in Python 3 using the flask framework, and must use JavaScript at the front end. You are not allowed to use any other language or web framework, nor any JavaScript framework. The coursework is intended to familiarise you with the fundamentals of how web applications work, not to duplicate the commercial web development process.
You do not need to design the database. You will be provided with a back-end database schema that can be run under sqlite. Sqlite would not normally be used for a deployed web application, but you may use it for this coursework as it is simpler than running an actual SQL server and SQL is not the focus of this module.
The web application you must produce is a semantically enhanced debate forum. Users can create accounts with a username and password and post messages, and read messages that other users have posted. In addition, messages can be connected to each other in different ways.
The forum is divided into topics. Each topic can contain one or more claims. Each claim has a heading message, plus additional replies can be posted to it. A user can post new topics, new claims on an existing topic, or new replies on an existing claim.
When posted, a reply must be related to either the claim it is posted to, or another reply on the same claim. If the reply is related to the claim, the user can choose if it is a clarification, supporting argument, or counterargument. If the reply is related to another reply, the user can choose if it is evidence, support, or a rebuttal.
In addition, claims can be related to other claims, as opposed or equivalent. Note that each claim can potentially be related to more than one other claim.
The following is the basic functionality to implement:
On visiting the first page of the site, the user must see a list of topics.
Clicking on a topic should display all claims posted in that topic, with the most recently updated (newly posted or with a new reply) at the top.
Clicking on a claim should show the claim’s page, which should show the claim header and all related replies. Replies related directly to the claim should appear below it. Replies related to other replies should appear below, or within, the reply they relate to.
The topic page should show relationships between claims on the topic. The claim page should provide links to related claims. You should design a pleasing visualisation of these relationships.
Each topic, claim, or reply should also display the name of the posting user, and the time of posting.
Individual topic and claim pages should be directly linkable. If a user copy and pastes the URL of a topic or claim page, anyone else visiting that URL should arrive at the same topic or claim page.
A user must be able to create an account, giving a username and password.
A user must be able to log into an existing account with the correct username and password.
The front page, topic, and claim pages should be accessible without logging in. If a user is already logged in, visiting these pages should not log them out.
The user interface to register an account or log in should not be a separate page. It should be an overlaying box in the corner of each regular view page which appears only when a button is clicked.
When a user is logged in, this overlaying box should offer a button to log out.
Once a user has created an account, they should be able to post topics, claims, and replies.
When posting a reply, the user should be able to write the text of the reply and choose what it is a reply to (the claim, or another reply) and what type of relation it has (from those listed above). A posted reply must be related to either the claim, or another reply by one of the listed relation types.
When posting a claim, the user should be able to write the header message of the claim and choose to relate it to one or more other claims. A claim is not required to relate to any other claims, although it must be part of a topic.
The site should not be vulnerable to SQL, JavaScript (XSS) or HTML injection.
The user interface should be of a standard suitable for a modern web application.
The application should meet reasonable standards for accessibility on desktop platforms.
Please note the following differences from “standard” forums:
The user must state the type of relationship a reply has to another reply, or to a claim.
Claims can relate to other claims. Users must state the type of relationship in this case also.
Each claim can relate to more than one other claim.
Completing all of the above to a reasonable standard will result in a mark up to 60% depending on coding and design quality.
You may then add additional functionality for extra marks:
Add a search function which can display all messages or topics by ranges of sensible search criteria (up to 20%; for more than 10% extra criteria other than simple string match must be available)
Add administration, where particular users can be named as administrators and can delete or move claims, topics, replies and users (up to 10%)
Implement the forum using AJAX. JavaScript code at the client should fetch messages in JSON format from the server and create the user interface on the client side dynamically (up to 20%).
Implement live synchronization. If a user posts a reply on a claim page another user is viewing, the message should dynamically appear on the first user’s screen without them needing to reload (up to 10%)
Add animation to the user interface. For example, a topic could expand to fill the screen when clicked as the other topics fade out, and then contract back into place when the user leaves the topic (up to 20%)
Note that the total of all of these added together is greater than 100%. You are not expected to add them all.
The marks available for each of these areas of functionality are divided based on the sections of the coursework, as described below. Simply writing code to meet the specification by any means will not earn full marks.

How to create Testimonial Carousel using Bootstrap5

Clients' Reviews about Our Services