Commit Graph

100 Commits

Author SHA1 Message Date
Bastian Masanek
268d91f548 Enhance database management with cleanup and reset scripts
- Added a new database cleanup script to remove all data while preserving the schema, facilitating a clean state before seeding.
- Updated package.json to include new commands for database cleaning and resetting.
- Modified schema definitions to use an array format for index and constraint definitions, improving clarity and consistency.
- Updated product seeding logic to utilize role-based assignments directly from mock data, enhancing flexibility in product-role relationships.
2025-11-02 10:35:07 +01:00
Bastian Masanek
ff9960edef Add role-based visibility and management features for products
- Introduced a role-based visibility system for products, ensuring that only users with approved roles can view specific products.
- Added new database tables for roles, user roles, and product role visibility to manage access control.
- Implemented utility functions for role management, including fetching approved roles, checking product visibility, and assigning roles to users and products.
- Updated API endpoints to filter products based on user roles, enhancing security and user experience.
- Prepared the database schema for future role request and approval workflows in upcoming phases.
2025-11-02 10:17:40 +01:00
Bastian Masanek
6e4f858883 Refactor AreaTabs component to simplify product area IDs
- Updated product area IDs for 'experimenta' and 'makerspace' to enhance clarity and navigation consistency.
- Maintained existing functionality while improving the overall structure of the AreaTabs component.
2025-11-02 10:17:23 +01:00
Bastian Masanek
abdec40119 Refactor AreaTabs component to update product area identifiers and visibility settings
- Changed product area IDs for 'experimenta' and 'makerspace' to simplify navigation.
- Updated visibility settings for areas to ensure 'experimenta' and 'labs' are now visible.
- Adjusted logic in computed property to reflect new area IDs for improved routing consistency.
2025-11-02 10:17:04 +01:00
Bastian Masanek
8b8e6fbb14 Update settings.local.json to add database migration command for Playwright integration 2025-11-02 10:16:29 +01:00
Bastian Masanek
82b5e61f94 Refactor ProductCard component to enhance clickability and visual indicators
- Updated the template structure to make the entire card clickable by wrapping the CTA button in a div instead of a NuxtLink.
- Improved the visual indication of the CTA button with clearer comments and hover effects for better user experience.
2025-11-02 09:34:38 +01:00
Bastian Masanek
d6bed8fb50 Import CheckCircle icon from lucide-vue-next in product detail demo page for enhanced visual representation 2025-11-02 09:31:07 +01:00
Bastian Masanek
e55c7613cd Add Role Switcher component to styleguide with detailed usage instructions
- Introduced RoleSwitcher component to the styleguide, allowing users to switch between different roles (individual, educator, company).
- Enhanced the styleguide with a live example, design features, and component usage instructions for better clarity and usability.
- Updated layout to include a new section for the Role Switcher, improving overall navigation and user experience.
2025-11-02 09:24:36 +01:00
Bastian Masanek
f4d47b8399 Update settings.local.json to include new browser command for Playwright integration 2025-11-02 09:23:34 +01:00
Bastian Masanek
0c875af73c Refactor RoleSwitcher component for improved clarity and consistency
- Updated role descriptions for clarity by removing unnecessary phrases.
- Enhanced template structure for better readability and consistency in styling.
- Adjusted dropdown menu width for improved layout and user experience.
2025-11-01 20:18:20 +01:00
Bastian Masanek
a826ea1344 Implement experimenta product listing page and enhance navigation components
- Added a new page for displaying experimenta annual passes, integrating ProductCard and ProductGrid components for product presentation.
- Updated API to filter products by category, allowing for specific product queries.
- Enhanced navigation components, including AreaTabs and RoleSwitcher, to improve user experience and accessibility.
- Refactored existing components for better styling consistency and responsiveness.
- Improved dropdown menu components with updated styles and hover effects for better usability.
2025-11-01 20:08:28 +01:00
Bastian Masanek
81495d5e17 Enhance navigation and UI components for improved user experience
- Added new AppHeader and BottomNav components for better navigation across the application.
- Introduced AreaTabs for product area navigation and integrated RoleSwitcher for user role management.
- Created CartButton component to display cart status and item count.
- Implemented UserMenu with login/logout functionality and user greeting.
- Added Badge component for notifications and status indicators.
- Updated layout to accommodate new navigation components and ensure mobile responsiveness.
- Created product detail demo page to showcase design patterns and features.
- Enhanced existing components with improved styling and functionality.
2025-11-01 19:51:02 +01:00
Bastian Masanek
7ab80a6635 Add product detail and listing pages with API integration
- Created a new product detail page to display individual product information, including images, descriptions, and pricing.
- Implemented a product listing page to showcase all available products using the ProductCard and ProductGrid components.
- Added API endpoints for fetching product data, ensuring only active products are returned.
- Introduced a database seed script to populate the database with initial mock product data for development and testing.
- Updated settings to include new database seeding command and adjusted routing for product links.
2025-11-01 19:07:59 +01:00
Bastian Masanek
9150af3ac2 Refactor ProductCard component for improved readability and styling consistency
- Simplified template structure by removing unnecessary line breaks and indentation.
- Enhanced badge and discount badge styles for better visual appeal.
- Updated class names for consistency and improved hover effects on buttons.
- Maintained functionality while improving code clarity and maintainability.
2025-11-01 18:26:16 +01:00
Bastian Masanek
5115a4db82 Add ProductCard and ProductGrid components for mobile-optimized product listings
- Introduced ProductCard component to display individual product details, including image, title, description, price, and optional badges.
- Added ProductGrid component to create a flexible grid layout for displaying multiple ProductCard components, supporting 1-4 columns.
- Created a demo page to showcase the ProductCard and ProductGrid components in action, highlighting their responsive design and features.
- Updated styleguide to include links and descriptions for the new components.
2025-11-01 18:19:31 +01:00
Bastian Masanek
bff23bdaa0 Add new browser resize command to settings.local.json 2025-11-01 18:19:16 +01:00
Bastian Masanek
e48f3b5ece Refactor session encryption variable names for consistency
- Changed `NUXT_SESSION_SECRET` to `NUXT_SESSION_PASSWORD` across configuration files and documentation to align with the usage in nuxt-auth-utils.
- Updated related comments and documentation to reflect the new variable name, ensuring clarity for developers and users.
2025-11-01 16:22:00 +01:00
Bastian Masanek
d231081b08 Integrate ConfigProvider to manage body scrolling behavior during modal interactions
- Added ConfigProvider component to prevent body scrolling when modals are open, enhancing user experience.
- Included comments explaining the rationale behind the scroll-body setting to avoid layout shifts caused by dropdown menus.
2025-11-01 16:13:04 +01:00
Bastian Masanek
55ff1f71e8 Add test credentials and guidelines for staging environment in CLAUDE.md 2025-11-01 15:36:33 +01:00
Bastian Masanek
cc35636d1a Implement Password Grant Flow for Authentication and Enhance User Experience
- Introduced Password Grant Flow for user authentication, allowing direct login with email and password.
- Updated `useAuth` composable to manage login and logout processes, including Single Sign-Out from Cidaas.
- Enhanced user interface with a new `UserMenu` component displaying user information and logout functionality.
- Updated homepage to show personalized greetings for logged-in users and a login prompt for guests.
- Added logout confirmation page with a countdown redirect to the homepage.
- Documented the implementation details and future enhancements for OAuth2 flows in CLAUDE.md and other relevant documentation.
- Added test credentials and guidelines for automated testing in the new TESTING.md file.
2025-11-01 15:23:08 +01:00
Bastian Masanek
83ba708023 Remove .playwright-mcp 2025-10-31 21:19:47 +01:00
Bastian Masanek
be06e16880 Refactor secure connection handling in LoginForm and introduce SecureConnectionIndicator component
- Remove inline secure connection checks from LoginForm and replace them with a new SecureConnectionIndicator component.
- The SecureConnectionIndicator displays secure connection status messages based on the current protocol.
- Clean up LoginForm template for improved readability and maintainability.
2025-10-31 21:10:54 +01:00
Bastian Masanek
e7939b9045 Update experimenta button documentation to reflect component name change
- Replace instances of <UiButtonButton> with <Button> in the documentation for the experimenta button.
- Ensure consistency in the examples provided for button, link, and NuxtLink usage.
2025-10-31 20:12:57 +01:00
Bastian Masanek
f603840f34 Refactor secure connection handling in LoginForm component
- Change isSecureConnection from computed to ref and initialize it on component mount.
- Wrap secure connection status messages in ClientOnly to prevent rendering issues during server-side rendering.
2025-10-31 20:05:26 +01:00
Bastian Masanek
75c59d2783 Update RegisterForm links to point to external privacy policy and terms of service
- Change links in the registration form to direct users to the external Datenschutzerklärung and Nutzungsbedingungen pages.
- Ensure links open in a new tab for better user experience.
2025-10-31 20:05:01 +01:00
Bastian Masanek
c385779221 Enhance FormMessage and styleguide for improved accessibility and user feedback
- Add orange AlertCircle icon to FormMessage component for better visibility of validation errors.
- Update styleguide to demonstrate new alert components with icons for error, success, and warning messages.
- Refactor CSS for status messages and form error messages to improve layout and accessibility compliance.
2025-10-31 17:40:10 +01:00
Bastian Masanek
d9f08bbef2 Enhance user communication and improve UI components
- Update CLAUDE.md to mandate informal "Du" form for user communication in all UI text and emails.
- Modify LoginForm and RegisterForm components to reflect informal language in validation messages and placeholders.
- Add secure connection indicators in LoginForm for user awareness.
- Update alert component styles for better visual feedback.
- Introduce experimenta company information document for user reference.
2025-10-31 17:28:07 +01:00
Bastian Masanek
c2c706ebcf Refactor login error handling and improve user feedback
- Update LoginForm component to display error messages directly from the authentication response.
- Modify useAuth composable to handle login errors more effectively, ensuring proper error messages are thrown.
- Enhance login API response to return structured error messages for invalid credentials.
- Adjust Cidaas utility to throw specific errors for invalid username/password scenarios.
2025-10-31 14:51:15 +01:00
Bastian Masanek
7c7c4fcb6f Implement direct login functionality with email and password
- Update login API to support direct authentication via email and password, removing the OAuth2 redirect flow.
- Modify LoginForm component to include password field and validation.
- Refactor useAuth composable to handle login with both email and password.
- Remove unnecessary OAuth2 callback handler and PKCE utilities.
- Update relevant documentation and error handling for the new login method.
2025-10-31 14:27:38 +01:00
Bastian Masanek
e71316dfe7 Update local settings and refactor FormField component
- Add new entries to settings.local.json for additional functionality
- Refactor FormField.vue to change slot prop name for better clarity
2025-10-31 12:36:32 +01:00
Bastian Masanek
9682461eea Refactor Tabs components for improved styling
- Update TabsList.vue to adjust height and border radius for a more modern look
- Modify TabsTrigger.vue to enhance padding, font size, and line height for better readability and user experience
2025-10-31 12:27:40 +01:00
Bastian Masanek
f54b1f56d5 Add internal authentication configuration and middleware support
- Enable internal authentication via environment variable in .env.example
- Update nuxt.config.ts to include internalAuthEnabled check
- Modify internal-auth middleware to conditionally enforce authentication based on the new configuration
2025-10-31 12:15:51 +01:00
Bastian Masanek
f8572c3386 Implement authentication phase with Cidaas OAuth2 integration
- Add authentication middleware to protect routes
- Create API endpoints for login, logout, registration, and user info
- Develop UI components for login and registration forms
- Integrate VeeValidate for form validation
- Update environment configuration for Cidaas settings
- Add i18n support for English and German languages
- Enhance Tailwind CSS for improved styling of auth components
- Document authentication flow and testing procedures
2025-10-31 11:44:48 +01:00
Bastian Masanek
749d5401c6 Update Claude Code local settings 2025-10-30 14:34:30 +01:00
Bastian Masanek
bc4f9f4eee Add Makerspace annual pass assets
- Add Makerspace 2025 Photoshop source file
- Add exported JPG image for web use
2025-10-30 14:34:28 +01:00
Bastian Masanek
934635ac77 Update task tracking for database phase progress
- Mark database setup tasks as completed
- Update progress percentages and status
- Document database implementation notes
2025-10-30 14:34:25 +01:00
Bastian Masanek
38056e04d8 Enhance styling with updated Tailwind config and CSS
- Extend Tailwind config with experimenta brand colors
- Improve CSS base styles and component formatting
- Update index page with refined typography
2025-10-30 14:34:21 +01:00
Bastian Masanek
e2e36ad7ae Add internal styleguide page with HTTP Basic Auth
- Create /internal/styleguide route with protected layout
- Add styleguide.vue layout with auth protection
- Configure internal pages auth credentials in .env.example
- Update nuxt.config for internal routes handling
2025-10-30 14:34:17 +01:00
Bastian Masanek
a0121016b9 Add server infrastructure with API routes and middleware
- Create API route structure (auth, health, internal)
- Add authentication middleware for internal pages
- Add database connection utilities
- Implement health check endpoint
2025-10-30 14:34:12 +01:00
Bastian Masanek
ef9845c5c5 Add Drizzle ORM setup and database configuration
- Add drizzle.config.ts for database migrations
- Create server/database/ structure with schema
- Add drizzle-orm and postgres dependencies
- Add db:* npm scripts for database management
2025-10-30 14:33:59 +01:00
Bastian Masanek
9102dab881 Enhance index page styling with accent borders and updated typography, and improve CSS formatting for better readability. 2025-10-30 14:33:55 +01:00
Bastian Masanek
aea87ccc5f Add critical CSS styles for layout and typography, enhance button styles with rounded corners, and introduce a progress card component with Safrangold accent border. 2025-10-30 14:33:41 +01:00
Bastian Masanek
1f6adfb324 Add local Roboto font and new images for branding 2025-10-30 11:01:00 +01:00
Bastian Masanek
dfa3b8190d Refactor design example HTML files. 2025-10-30 10:49:18 +01:00
Bastian Masanek
23afddd73d Update DESIGN_SYSTEM.md to reflect the latest changes in font usage, including local hosting of the Roboto font, and enhance button styles with detailed design rationale. 2025-10-30 10:48:47 +01:00
Bastian Masanek
c571f35cb3 Update .gitignore to exclude Playwright MCP directory 2025-10-30 10:47:45 +01:00
Bastian Masanek
f7b2764714 Load Roboto font locally from /public/fonts/roboto/ and update Nuxt configuration to remove external font links 2025-10-30 10:17:30 +01:00
Bastian Masanek
eaa53cbebb Update footer contact information and refactor button component template for cleaner syntax 2025-10-30 09:14:16 +01:00
Bastian Masanek
243ff2e91f Add Experimenta Styleguide image 2025-10-30 09:13:56 +01:00
Bastian Masanek
6e50ec7034 Init 2025-10-30 08:24:44 +01:00