Flask web app featuring a global static chat room, user-driven marketplace and democratic control of the site.
- Flask app. This is a technical showcase, not production software i.e. admin credentials are listed below.
- There is a global chat room. It does not make use of web sockets so it is not dynamic.
- There is a marketplace that users can buy and sell on using fake currency.
- Any user can suggest and vote on changes to the app e.g. colour scheme changes.
- Votes are upvotes/downvotes. Proposals with majority support are implemented automatically.
- Fire SVG made by made by Deepak K Vijayan (2xsamurai). Available from: https://codepen.io/2xsamurai/pen/EKpYM". Logo animation and form animation were made by me.
- "round_up" function wirtten by Priyankur Sarkar. AVailable from: https://www.knowledgehut.com/blog/programming/python-rounding-numbers
- Icons used in navbar are free even without attribution. Available from: https://uxwing.com/
- Favicon is from the open source project Twemoji. Licensed under CC-BY 4.0. Twemoji: https://twemoji.twitter.com/ CC-BY 4.0 License: https://creativecommons.org/licenses/by/4.0/
- Borrowed some CSS from Stack Overflow to center placeholder text in form fields. Available from: https://stackoverflow.com/questions/7381446/center-html-input-text-field-placeholder
- Borrowed some CSS from Stack Overflow to brighten anchor tags on hover. Available from: https://stackoverflow.com/questions/16178382/css-lighten-an-element-on-hover
- Borrowed some CSS to make form labels accessible to screen readers. Available from: https://webaim.org/techniques/css/invisiblecontent/
- Borrowed some CSS to fix issues with safari mobile. Available from: https://stackoverflow.com/questions/50475114/when-rotating-an-iphone-x-to-landscape-white-space-appears-to-the-left-and-belox
- Borrowed some CSS to fix scrolling issues on mobile. Available from: https://css-tricks.com/css-fix-for-100vh-in-mobile-webkit/
- Borrowed some JavaScript from Stack Overflow to fix HTML validation issues due to blank action attribute. Available from: https://stackoverflow.com/questions/32491347/bad-value-for-attribute-action-on-element-form-must-be-non-empty/32491636
- Borrowed some JavaScript from Stack Overflow to keep scroll at the buttom on the forum. Available from: https://stackoverflow.com/questions/3842614/how-do-i-call-a-javascript-function-on-page-load
- Borrowed some JavaScript from Stack Overflow to force refresh on the chat page. Available from: https://stackoverflow.com/questions/32913226/auto-refresh-page-every-30-seconds
- All page transition animations were made using the swup page transition library. Available from: https://swup.js.org/
- Font used is Roboto Mono. Available from: https://fonts.google.com/specimen/Roboto+Mono?preview.text_type=custom
- Admin user_id is "admin".
- Admin password is "keen/nimble_SALSA".
- The admin portal can be accessed at the route "/admin".
- user_id: "cartwheelkitten", password: "supercsecret" (User is banned).
- user_id: "floralpelicanfly", password: "superfsecret".
- user_id: "unforgivenbeans", password: "superusecret".
- user_id: "spinachstandby", password: "superssecret".
- user_id: "fitnessjuice", password: "superfsecret".
- user_id: "departed", password: "superdsecret".
- user_id: "notorious", password: "supernsecret".
- user_id: "doughnutwalrus", password: "superdsecret".
- user_id: "snake", password: "superssecret".
- user_id: "birthdaycake", password: "superbsecret".