Complete implementation of Phase 1-3 (64 tasks): - Phase 1: Project setup with Flask, pytest, configuration - Phase 2: Core infrastructure (auth, models, services, testing) - Phase 3: Anonymous feedback submission with file uploads Features: - Anonymous feedback submission (text and/or up to 3 file attachments) - Multi-language support (any language accepted) - File validation (type, size) and virus scanning (ClamAV) - Product management with active/archived status - File-based storage with YAML metadata - User authentication system (Flask-Login) - CSRF protection and rate limiting - Test coverage: 10 passing tests (contract + integration) Security: - No IP address logging (FR-055 compliance) - File type whitelist and size limits (10MB max) - Virus scanning with graceful degradation - Filename sanitization and secure storage Test Results: - 8 contract tests passed - 2 integration tests passed - End-to-end workflow verified 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
23 lines
768 B
HTML
23 lines
768 B
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}Welcome - Reklamator{% endblock %}
|
|
|
|
{% block content %}
|
|
<div style="text-align: center; padding: 60px 20px;">
|
|
<h1 style="font-size: 2.5em; margin-bottom: 20px;">Reklamator</h1>
|
|
<p style="font-size: 1.3em; color: #666; margin-bottom: 40px;">
|
|
Anonymous Feedback Platform
|
|
</p>
|
|
|
|
<div style="max-width: 600px; margin: 0 auto; text-align: left;">
|
|
<h2>Submit Feedback</h2>
|
|
<p>If you have a product-specific submission link, use it to submit your feedback anonymously.</p>
|
|
|
|
<h2 style="margin-top: 40px;">Product Owners & Administrators</h2>
|
|
<p>
|
|
<a href="{{ url_for('auth.login') }}" class="btn">Login to Dashboard</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|