From ba14acccd881b0ef9130a534b6dfcfd169915bbc Mon Sep 17 00:00:00 2001 From: Isabelle Nachbaur Date: Sat, 30 May 2026 22:25:04 +0200 Subject: [PATCH] Update README for project assessment --- README.md | 56 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 37 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index fcb21b1..25b6af7 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,21 @@ # OnlyPrompt - AI Prompt Marketplace ## Description -OnlyPrompt is a frontend web applications where people can publish and sell their high-quality AI prompts. User can browse, filter, rate and unlock premium features such as private chats with creators for exclusive AI tips. +OnlyPrompt is a web application where users can create, publish, discover and interact with AI prompts. Users can edit their profiles, follow creators, like and save prompts, write reviews and browse free or paid prompt cards in a marketplace. -This project is built with with HTML, CSS and Java Script. +This project is built with HTML, CSS and JavaScript. ## Special Features -- 📝 Create and publish new prompts -- 🔍 Live search and category filtering -- 💬 Premium chat simulation with creators -- 🔒 Unlock premium prompts (payment simulation) -- ⭐ Rating system -- ❤️ Save favorites (LocalStorage) -- 📱 Fully responsive design (mobile & desktop) -- 🌐 External API integration (e.g., RandomUser API for creator profiles) -- 💾 Client-side data persistence -- 🔄 Basic server communication (optional file-based backend) +- 📝 Create, edit and publish AI prompts +- 🔍 Browse prompts in a marketplace with category, search and price filters +- 📄 View prompt detail pages with examples, ratings and access states +- ❤️ Like and save prompts +- 👥 Follow and discover other creators +- 👤 Edit user profiles with display name, username, bio and profile picture +- 🌐 View own and public creator profiles +- 📱 Responsive layout for desktop and mobile +- 🔄 Server communication through a REST API +- 💾 Shared data persistence with backend and database ## Installment (for local use) @@ -33,13 +33,31 @@ DB_PASSWORD=onlyprompt ``` ## Technologies, Libraries, Frameworks -- HTML5 (Structure) -- CSS3 + Bootstrap + PureCSS (Styling & responsive layout) -- Vanilla JavaScript (Application logic) -- JavaScript Libraries Axios, JQuery -- ASP.NET Core (Backend) -- Postgres (Backend Datastorage) -- Docker (Deployment) +- HTML5 for page structure +- CSS3 with Flexbox/Grid for layout and responsive design +- Bootstrap Icons for UI icons +- Vanilla JavaScript for DOM manipulation, events and API calls +- Fetch API for asynchronous server communication +- ASP.NET Core as helper backend +- PostgreSQL for shared data persistence +- Docker for local development and deployment + +## Technical Decisions +The frontend is built with plain HTML, CSS and Vanilla JavaScript because the project focuses on understanding core frontend concepts without using a JavaScript framework. The backend is used as a helper service for authentication, shared data persistence and REST API communication. Docker is used so that the project can be started consistently on different machines. + +## Use of AI Tools +AI tools were used as support during development, mainly for debugging, comparing implementation approaches and improving documentation wording. Generated suggestions were reviewed, adapted and tested by the team before being included in the project. + +## Security Considerations +The project uses authentication with a JWT cookie so that protected pages and API endpoints require a logged-in user. User input is validated on the backend for important operations such as registration, profile updates and prompt creation. + +Known limitations: +- Payment and premium access are simulated and are not connected to a real payment provider. +- 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. + +## Reflection +A main challenge was connecting static frontend pages with dynamic backend data while keeping the application usable and consistent. During development, the project evolved from demo pages into a connected application with real profiles, prompts, likes, saves and creator interactions. We learned how important clear API structures, consistent data models and regular browser testing are when multiple pages depend on the same shared data. ## Group members and their roles | Name | Role |