Flask web application which implements simple chat rooms. As part of Coursework 2 of the COMP2011 Web Application Development module.
https://omariosc.pythonaywhere.com
- Username:
admin
- Password:
admin
- Web forms allowing the user to enter data (including client side and server-side validation).
- A database to store information.
- Five models (one for users, one for chat rooms, one association table for users and rooms, one for messages and finally one for logs)
- Many-to-many relationship.
- The use of sessions and cookies.
- Authentication.
- Appropriate styling for the web application.
- A set of unit tests.
- Appropriate logging.
- Bootstrap
- JavaScript
- Advanced feature of HTML (local storage)
- Used field types appropriate to their intended content.
- Client side/server-side validation is applied and informative feedback is provided to the user when incorrect input is provided.
- A variety of fields are used within the forms.
- Field types appropriate to their intended content are used.
- Client side/server-side validation is applied and informative feedback is provided to the user when incorrect input is provided.
- A many-to-many relationship has been implemented (many users to many rooms)
- Validation is applied to ensure the data in the database is consistent.
- The database makes use of database relationships.
- Queries on fields are applied to retrieve data from the database.
- Appropriately used primary keys.
- A new user can register, then log in to their account.
- Users can log in and stay logged in until they log out.
- Users can personalise their experience whilst logged in.
- Users can change their password.
- Appropriate privacy warning for usage of cookies.
- The web site is to a professional standard.
- The web site is responsive and feels natural to use on both tablet and desktop computers.
- The user experience of the website is consistent.
- Key functionality implemented on the website is easy and intuitive to use.
- Consideration has been applied to enable accessibility to the website.
- Styling of the web site is appropriate for its purpose.
- The unit tests cover key features of the web application (including some boundary cases).
- The database queries that are important to the website are tested using a unit testing framework.
- Logging includes different levels of severity.
- Logging is implemented with a useful message being saved.
- Logging is implemented and stored in a separate database model.
- The app has been deployed and all elements of the site are functioning without issue.
- Implemented advanced features.
- Implementation is executed to a high standard.
- Features are directly relevant and strongly enhance the user experience.
- The report is of a high standard.
- The report is well presented with clear section titling
- Appropriate technical language is used
- The report covers all areas highlighted in the specification
- A good description of potential security risk has been provided.
- The evaluation considers user experience relating ease of use back to design decisions
- References are provided in some suitable format