From a3bfcb53473a36547ace1f44faa3ac1065c17967 Mon Sep 17 00:00:00 2001 From: Thuvaraka Yogarajah Date: Sun, 14 Jun 2026 12:08:32 +0200 Subject: [PATCH] Update README for chat and accessibility --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 393113a..7072814 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,11 @@ This project is built with HTML, CSS and JavaScript. - ⭐ Write reviews with star ratings and comments - ❤️ Like and save prompts - 👥 Follow and discover other creators +- 💬 Start chats with creators from the community page and send local messages - 👤 Edit user profiles with display name, username, bio and profile picture - 🌐 View own and public creator profiles - 📱 Responsive layout for desktop and mobile, including a bottom icon navigation on smartphones +- ♿ Accessibility improvements such as keyboard focus states, skip links, labels, ARIA states and live status messages - 🔄 Server communication through a REST API - 💾 Shared data persistence with backend and database @@ -35,6 +37,13 @@ DB_NAME=onlyprompt DB_PASSWORD=onlyprompt ``` +## Local Usage Notes +- The community page includes a chat button on creator cards. It opens the chat page and starts a conversation with the selected creator. +- The chats page supports selecting conversations, searching creators through the new-chat button and sending messages. +- Chat messages are stored in the browser's `localStorage` for the local frontend demo. They are not persisted in PostgreSQL yet. +- Keyboard users can use `Tab`, `Shift + Tab`, `Enter` and `Space` to navigate links, buttons, filters, tabs and forms. +- On macOS, full keyboard navigation may need to be enabled in System Settings or the browser settings so that `Tab` also focuses links. + ## Technologies, Libraries, Frameworks - HTML5 for page structure - CSS3 with Flexbox/Grid for layout and responsive design @@ -56,6 +65,7 @@ The project uses authentication with a JWT cookie so that protected pages and AP Known limitations: - Subscription access is simulated for the semester project and is not connected to a real payment provider. +- Chat messages are currently stored locally in the browser and are not connected to a backend chat API. - User-generated content is displayed in the frontend, so XSS prevention is important. The project avoids intentionally executing user input as code, but further output sanitization would be needed for production. - Authentication is implemented for local project use and would need additional hardening for production.