refactor: Rebranding i aktualizacja modelu AI
- Zmiana nazwy: "Norda Biznes Hub" → "Norda Biznes Partner" - Aktualizacja modelu AI: Gemini 2.0 Flash → Gemini 3 Flash - Zachowano historyczne odniesienia w timeline i dokumentacji Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
fdf75ce152
commit
cebe52f303
@ -95,7 +95,7 @@ Podsumuj w czytelnej formie:
|
|||||||
| Śr. czas odpowiedzi | X ms |
|
| Śr. czas odpowiedzi | X ms |
|
||||||
|
|
||||||
## Uwagi:
|
## Uwagi:
|
||||||
- Google Gemini 2.0 Flash jest na free tier (0 cost)
|
- Google Gemini 3 Flash jest na free tier (0 cost)
|
||||||
- Monitoruj tokeny dla kontroli limitów
|
- Monitoruj tokeny dla kontroli limitów
|
||||||
- Wysokie latency może wskazywać na problemy z API
|
- Wysokie latency może wskazywać na problemy z API
|
||||||
- DEV: `docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz`
|
- DEV: `docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz`
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# Norda Biznes Hub - Instrukcje dla Claude
|
# Norda Biznes Partner - Instrukcje dla Claude
|
||||||
|
|
||||||
## Opis projektu
|
## Opis projektu
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ nordabiz/
|
|||||||
| Backend | Flask 3.0, SQLAlchemy 2.0, Python 3.9+ |
|
| Backend | Flask 3.0, SQLAlchemy 2.0, Python 3.9+ |
|
||||||
| Frontend | HTML5, CSS3, Vanilla JS, Jinja2 |
|
| Frontend | HTML5, CSS3, Vanilla JS, Jinja2 |
|
||||||
| Baza danych | PostgreSQL (prod i dev via Docker) |
|
| Baza danych | PostgreSQL (prod i dev via Docker) |
|
||||||
| AI | Google Gemini 2.0 Flash (free tier) |
|
| AI | Google Gemini 3 Flash (free tier) |
|
||||||
| Security | Flask-Login, Flask-WTF (CSRF), Flask-Limiter |
|
| Security | Flask-Login, Flask-WTF (CSRF), Flask-Limiter |
|
||||||
|
|
||||||
## Środowiska
|
## Środowiska
|
||||||
|
|||||||
10
README.md
10
README.md
@ -1,4 +1,4 @@
|
|||||||
# Norda Biznes Hub
|
# Norda Biznes Partner
|
||||||
|
|
||||||
**Production-ready Flask web application** providing a business directory and networking platform for members of the Norda Biznes association from Wejherowo and surrounding area.
|
**Production-ready Flask web application** providing a business directory and networking platform for members of the Norda Biznes association from Wejherowo and surrounding area.
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ For detailed setup instructions, see [Development Environment Setup](#developmen
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Norda Biznes Hub is a **Flask-powered web platform** built with PostgreSQL, featuring AI-driven search capabilities, comprehensive company profiles, and administrative tools for managing member data. The platform integrates Google Gemini AI for intelligent company recommendations, automated news monitoring via Brave Search API, and comprehensive SEO/social media auditing tools.
|
Norda Biznes Partner is a **Flask-powered web platform** built with PostgreSQL, featuring AI-driven search capabilities, comprehensive company profiles, and administrative tools for managing member data. The platform integrates Google Gemini AI for intelligent company recommendations, automated news monitoring via Brave Search API, and comprehensive SEO/social media auditing tools.
|
||||||
|
|
||||||
**Key Capabilities:**
|
**Key Capabilities:**
|
||||||
- **Company Directory** - Complete catalog of 80 member companies with verified data
|
- **Company Directory** - Complete catalog of 80 member companies with verified data
|
||||||
@ -577,7 +577,7 @@ For more detailed database setup and management, see `database/README.md`.
|
|||||||
|
|
||||||
## Testing & Quality Assurance
|
## Testing & Quality Assurance
|
||||||
|
|
||||||
The Norda Biznes Hub includes a comprehensive testing framework to ensure code quality, AI accuracy, and feature reliability. The test suite covers unit tests for individual components and specialized AI quality evaluation.
|
The Norda Biznes Partner includes a comprehensive testing framework to ensure code quality, AI accuracy, and feature reliability. The test suite covers unit tests for individual components and specialized AI quality evaluation.
|
||||||
|
|
||||||
### Test Suite Overview
|
### Test Suite Overview
|
||||||
|
|
||||||
@ -1037,7 +1037,7 @@ If issues persist, check NPM configuration on R11-REVPROXY-01 (Proxy Host ID: 27
|
|||||||
|
|
||||||
## API Documentation
|
## API Documentation
|
||||||
|
|
||||||
The Norda Biznes Hub provides a comprehensive RESTful API for programmatic access to company data, user management, and administrative functions. All API endpoints return JSON responses.
|
The Norda Biznes Partner provides a comprehensive RESTful API for programmatic access to company data, user management, and administrative functions. All API endpoints return JSON responses.
|
||||||
|
|
||||||
### Base URL
|
### Base URL
|
||||||
|
|
||||||
@ -1462,7 +1462,7 @@ For more detailed command documentation, see [`CLAUDE.md`](CLAUDE.md) and [`depl
|
|||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
We welcome contributions to improve the Norda Biznes Hub platform! Here's how you can help.
|
We welcome contributions to improve the Norda Biznes Partner platform! Here's how you can help.
|
||||||
|
|
||||||
### Development Workflow
|
### Development Workflow
|
||||||
|
|
||||||
|
|||||||
8
app.py
8
app.py
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
Norda Biznes Hub - Flask Application
|
Norda Biznes Partner - Flask Application
|
||||||
====================================
|
====================================
|
||||||
|
|
||||||
Main Flask application for Norda Biznes company directory with AI chat.
|
Main Flask application for Norda Biznes company directory with AI chat.
|
||||||
@ -8661,7 +8661,7 @@ def admin_status():
|
|||||||
{'name': 'PostgreSQL', 'version': db_metrics.get('version', 'N/A'), 'icon': '🐘', 'category': 'Primary DB'},
|
{'name': 'PostgreSQL', 'version': db_metrics.get('version', 'N/A'), 'icon': '🐘', 'category': 'Primary DB'},
|
||||||
],
|
],
|
||||||
'ai': [
|
'ai': [
|
||||||
{'name': 'Google Gemini', 'version': '2.0 Flash', 'icon': '🤖', 'category': 'AI Chat'},
|
{'name': 'Google Gemini', 'version': '3 Flash', 'icon': '🤖', 'category': 'AI Chat'},
|
||||||
{'name': 'Brave Search API', 'version': 'v1', 'icon': '🔍', 'category': 'News Search'},
|
{'name': 'Brave Search API', 'version': 'v1', 'icon': '🔍', 'category': 'News Search'},
|
||||||
{'name': 'Google PageSpeed', 'version': 'v5', 'icon': '⚡', 'category': 'SEO Audit'},
|
{'name': 'Google PageSpeed', 'version': 'v5', 'icon': '⚡', 'category': 'SEO Audit'},
|
||||||
],
|
],
|
||||||
@ -10565,7 +10565,7 @@ def release_notes():
|
|||||||
'date': '23 listopada 2025',
|
'date': '23 listopada 2025',
|
||||||
'badges': ['new'],
|
'badges': ['new'],
|
||||||
'new': [
|
'new': [
|
||||||
'Oficjalny start platformy Norda Biznes Hub',
|
'Oficjalny start platformy Norda Biznes Partner',
|
||||||
'Katalog 111 firm członkowskich',
|
'Katalog 111 firm członkowskich',
|
||||||
'Wyszukiwarka firm po nazwie, kategorii, usługach',
|
'Wyszukiwarka firm po nazwie, kategorii, usługach',
|
||||||
'Profile firm z pełnymi danymi kontaktowymi',
|
'Profile firm z pełnymi danymi kontaktowymi',
|
||||||
@ -14827,5 +14827,5 @@ if __name__ == '__main__':
|
|||||||
port = int(os.getenv('PORT', 5000))
|
port = int(os.getenv('PORT', 5000))
|
||||||
debug = os.getenv('FLASK_ENV') == 'development'
|
debug = os.getenv('FLASK_ENV') == 'development'
|
||||||
|
|
||||||
logger.info(f"Starting Norda Biznes Hub on port {port}")
|
logger.info(f"Starting Norda Biznes Partner on port {port}")
|
||||||
app.run(host='0.0.0.0', port=port, debug=debug)
|
app.run(host='0.0.0.0', port=port, debug=debug)
|
||||||
|
|||||||
@ -437,4 +437,4 @@ Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean
|
|||||||
---
|
---
|
||||||
|
|
||||||
**Autor:** Company Data Collector Agent
|
**Autor:** Company Data Collector Agent
|
||||||
**Contact:** Norda Biznes Hub Development Team
|
**Contact:** Norda Biznes Partner Development Team
|
||||||
|
|||||||
@ -455,4 +455,4 @@ ALTER USER nordabiz_app WITH PASSWORD 'new_secure_password';
|
|||||||
|
|
||||||
**Wersja:** 1.0
|
**Wersja:** 1.0
|
||||||
**Ostatnia aktualizacja:** 2025-11-23
|
**Ostatnia aktualizacja:** 2025-11-23
|
||||||
**Autor:** Norda Biznes Hub Development Team
|
**Autor:** Norda Biznes Partner Development Team
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
-- ============================================================
|
-- ============================================================
|
||||||
-- Norda Biznes Hub - Improved Search Schema Migration
|
-- Norda Biznes Partner - Improved Search Schema Migration
|
||||||
-- ============================================================
|
-- ============================================================
|
||||||
--
|
--
|
||||||
-- Rozszerzenie wyszukiwania o:
|
-- Rozszerzenie wyszukiwania o:
|
||||||
|
|||||||
@ -40,13 +40,13 @@ Linia: 936-941
|
|||||||
Obecne:
|
Obecne:
|
||||||
<a href="..." class="nav-brand">
|
<a href="..." class="nav-brand">
|
||||||
<svg width="32" height="32">...</svg>
|
<svg width="32" height="32">...</svg>
|
||||||
<span>Norda Biznes Hub</span>
|
<span>Norda Biznes Partner</span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
Proponowane:
|
Proponowane:
|
||||||
<a href="..." class="nav-brand">
|
<a href="..." class="nav-brand">
|
||||||
<img src="/static/img/norda-logo.png" alt="Norda Biznes" height="40">
|
<img src="/static/img/norda-logo.png" alt="Norda Biznes" height="40">
|
||||||
<span>Norda Biznes Hub</span>
|
<span>Norda Biznes Partner</span>
|
||||||
</a>
|
</a>
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# Security Guide - Norda Biznes Hub
|
# Security Guide - Norda Biznes Partner
|
||||||
|
|
||||||
**Last Updated:** 2026-01-10
|
**Last Updated:** 2026-01-10
|
||||||
**Status:** Active
|
**Status:** Active
|
||||||
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document provides comprehensive guidance on securely configuring database credentials and API keys for the Norda Biznes Hub platform. Following these guidelines is **mandatory** to prevent security vulnerabilities and protect sensitive data.
|
This document provides comprehensive guidance on securely configuring database credentials and API keys for the Norda Biznes Partner platform. Following these guidelines is **mandatory** to prevent security vulnerabilities and protect sensitive data.
|
||||||
|
|
||||||
### Security Vulnerability: CWE-798
|
### Security Vulnerability: CWE-798
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This diagram shows the **highest-level view** of the Norda Biznes Hub system and its external actors. It illustrates:
|
This diagram shows the **highest-level view** of the Norda Biznes Partner system and its external actors. It illustrates:
|
||||||
|
|
||||||
- **Who uses the system** (users, administrators)
|
- **Who uses the system** (users, administrators)
|
||||||
- **What external systems** the platform integrates with
|
- **What external systems** the platform integrates with
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This diagram shows the **major containers** (applications and data stores) that make up the Norda Biznes Hub system. It illustrates:
|
This diagram shows the **major containers** (applications and data stores) that make up the Norda Biznes Partner system. It illustrates:
|
||||||
|
|
||||||
- **What containers exist** (web app, database, proxy, external services)
|
- **What containers exist** (web app, database, proxy, external services)
|
||||||
- **How containers communicate** with each other
|
- **How containers communicate** with each other
|
||||||
@ -31,7 +31,7 @@ graph TB
|
|||||||
Admin["👨💼 System Admin<br/>Web Browser + SSH"]
|
Admin["👨💼 System Admin<br/>Web Browser + SSH"]
|
||||||
|
|
||||||
%% System boundary
|
%% System boundary
|
||||||
subgraph "Norda Biznes Hub System"
|
subgraph "Norda Biznes Partner System"
|
||||||
subgraph "R11-REVPROXY-01 [VM 119 | 10.22.68.250]"
|
subgraph "R11-REVPROXY-01 [VM 119 | 10.22.68.250]"
|
||||||
NPM["🔒 Nginx Proxy Manager<br/>(Reverse Proxy)<br/><br/>Technology: Nginx + Docker<br/>Port: 443 (HTTPS)<br/><br/>Responsibilities:<br/>- SSL/TLS termination<br/>- Request routing<br/>- HTTP→HTTPS redirect<br/>- Let's Encrypt automation"]
|
NPM["🔒 Nginx Proxy Manager<br/>(Reverse Proxy)<br/><br/>Technology: Nginx + Docker<br/>Port: 443 (HTTPS)<br/><br/>Responsibilities:<br/>- SSL/TLS termination<br/>- Request routing<br/>- HTTP→HTTPS redirect<br/>- Let's Encrypt automation"]
|
||||||
end
|
end
|
||||||
@ -793,7 +793,7 @@ Proxy Host Configuration:
|
|||||||
```ini
|
```ini
|
||||||
# /etc/systemd/system/nordabiznes.service
|
# /etc/systemd/system/nordabiznes.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Norda Biznes Hub - Flask Application
|
Description=Norda Biznes Partner - Flask Application
|
||||||
After=network.target postgresql.service
|
After=network.target postgresql.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This diagram shows the **physical deployment architecture** of the Norda Biznes Hub system. It illustrates:
|
This diagram shows the **physical deployment architecture** of the Norda Biznes Partner system. It illustrates:
|
||||||
|
|
||||||
- **Physical servers** and their infrastructure details (VMs, IPs, ports)
|
- **Physical servers** and their infrastructure details (VMs, IPs, ports)
|
||||||
- **Network topology** and connectivity
|
- **Network topology** and connectivity
|
||||||
|
|||||||
@ -567,7 +567,7 @@ track_usage(session, input_tokens, output_tokens)
|
|||||||
**Supported Models:**
|
**Supported Models:**
|
||||||
- **gemini-2.5-flash** - Fast, cheap ($0.075/1M tokens)
|
- **gemini-2.5-flash** - Fast, cheap ($0.075/1M tokens)
|
||||||
- **gemini-2.5-pro** - High quality ($1.25/1M tokens)
|
- **gemini-2.5-pro** - High quality ($1.25/1M tokens)
|
||||||
- **gemini-2.0-flash-exp** - Experimental (free)
|
- **gemini-3-flash-preview** - Experimental (free)
|
||||||
|
|
||||||
**Key Features:**
|
**Key Features:**
|
||||||
1. **Text Generation** - Chat, content creation, analysis
|
1. **Text Generation** - Chat, content creation, analysis
|
||||||
@ -1463,7 +1463,7 @@ app.config['RATELIMIT_HEADERS_ENABLED'] = True
|
|||||||
|
|
||||||
```ini
|
```ini
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Norda Biznes Hub
|
Description=Norda Biznes Partner
|
||||||
After=network.target postgresql.service
|
After=network.target postgresql.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This diagram shows the **complete database schema** for the Norda Biznes Hub application. It illustrates:
|
This diagram shows the **complete database schema** for the Norda Biznes Partner application. It illustrates:
|
||||||
|
|
||||||
- **All 36 database entities** (tables) organized into functional domains
|
- **All 36 database entities** (tables) organized into functional domains
|
||||||
- **Relationships** between entities with proper cardinality
|
- **Relationships** between entities with proper cardinality
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This diagram shows the **external APIs and data sources** integrated with Norda Biznes Hub. It illustrates:
|
This diagram shows the **external APIs and data sources** integrated with Norda Biznes Partner. It illustrates:
|
||||||
|
|
||||||
- **6 major API integrations** (Google Gemini, Brave Search, PageSpeed, Places, KRS, MS Graph)
|
- **6 major API integrations** (Google Gemini, Brave Search, PageSpeed, Places, KRS, MS Graph)
|
||||||
- **2 web scraping sources** (ALEO.com, rejestr.io)
|
- **2 web scraping sources** (ALEO.com, rejestr.io)
|
||||||
@ -29,7 +29,7 @@ This diagram shows the **external APIs and data sources** integrated with Norda
|
|||||||
```mermaid
|
```mermaid
|
||||||
graph TB
|
graph TB
|
||||||
%% Main system
|
%% Main system
|
||||||
subgraph "Norda Biznes Hub System"
|
subgraph "Norda Biznes Partner System"
|
||||||
WebApp["🌐 Flask Web Application<br/>app.py"]
|
WebApp["🌐 Flask Web Application<br/>app.py"]
|
||||||
|
|
||||||
subgraph "Service Layer"
|
subgraph "Service Layer"
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document provides a **network-centric view** of the Norda Biznes Hub infrastructure. It focuses on:
|
This document provides a **network-centric view** of the Norda Biznes Partner infrastructure. It focuses on:
|
||||||
|
|
||||||
- **Network layout and zones** (Public Internet, DMZ, Application Zone, Data Zone)
|
- **Network layout and zones** (Public Internet, DMZ, Application Zone, Data Zone)
|
||||||
- **Fortigate firewall configuration** with NAT rules and port forwarding
|
- **Fortigate firewall configuration** with NAT rules and port forwarding
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document provides a **comprehensive reference** of all critical configurations for the Norda Biznes Hub infrastructure. It serves as the **single source of truth** for:
|
This document provides a **comprehensive reference** of all critical configurations for the Norda Biznes Partner infrastructure. It serves as the **single source of truth** for:
|
||||||
|
|
||||||
- **NPM reverse proxy configuration** (includes critical port 5000 warning)
|
- **NPM reverse proxy configuration** (includes critical port 5000 warning)
|
||||||
- **Port mappings** across all servers and services
|
- **Port mappings** across all servers and services
|
||||||
@ -590,7 +590,7 @@ workers = 4 # Current (conservative)
|
|||||||
|
|
||||||
```ini
|
```ini
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Norda Biznes Hub - Flask Application
|
Description=Norda Biznes Partner - Flask Application
|
||||||
After=network.target postgresql.service
|
After=network.target postgresql.service
|
||||||
Requires=postgresql.service
|
Requires=postgresql.service
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document provides a **comprehensive security architecture** for the Norda Biznes Hub application, covering:
|
This document provides a **comprehensive security architecture** for the Norda Biznes Partner application, covering:
|
||||||
|
|
||||||
- **Security Zones** and trust boundaries
|
- **Security Zones** and trust boundaries
|
||||||
- **Authentication & Authorization** mechanisms
|
- **Authentication & Authorization** mechanisms
|
||||||
@ -1193,7 +1193,7 @@ def send_chat_message(id):
|
|||||||
# Track API cost in database
|
# Track API cost in database
|
||||||
cost_log = AIAPICostLog(
|
cost_log = AIAPICostLog(
|
||||||
api_name='gemini',
|
api_name='gemini',
|
||||||
model_name='gemini-2.0-flash',
|
model_name='gemini-3-flash-preview',
|
||||||
input_tokens=len(prompt),
|
input_tokens=len(prompt),
|
||||||
output_tokens=len(response),
|
output_tokens=len(response),
|
||||||
cost_usd=0.0, # Free tier
|
cost_usd=0.0, # Free tier
|
||||||
@ -1824,4 +1824,4 @@ Recommended training for team members:
|
|||||||
|
|
||||||
**Document End**
|
**Document End**
|
||||||
|
|
||||||
*This document is maintained as part of the Norda Biznes Hub architecture documentation. For questions or updates, contact the development team.*
|
*This document is maintained as part of the Norda Biznes Partner architecture documentation. For questions or updates, contact the development team.*
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
**Document Version:** 1.0
|
**Document Version:** 1.0
|
||||||
**Last Updated:** 2026-01-10
|
**Last Updated:** 2026-01-10
|
||||||
**Application:** Norda Biznes Hub
|
**Application:** Norda Biznes Partner
|
||||||
**Base URL:** https://nordabiznes.pl
|
**Base URL:** https://nordabiznes.pl
|
||||||
|
|
||||||
---
|
---
|
||||||
@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The Norda Biznes Hub provides **90+ HTTP endpoints** across multiple functional areas:
|
The Norda Biznes Partner provides **90+ HTTP endpoints** across multiple functional areas:
|
||||||
|
|
||||||
- **Public Pages:** Company directory, search, profile viewing
|
- **Public Pages:** Company directory, search, profile viewing
|
||||||
- **Authentication:** Registration, login, password reset, email verification
|
- **Authentication:** Registration, login, password reset, email verification
|
||||||
@ -2866,4 +2866,4 @@ curl "https://nordabiznes.pl/api/companies?limit=10" | jq
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*This document provides a comprehensive reference for all HTTP endpoints in the Norda Biznes Hub application. It serves as the authoritative guide for developers, integrators, and system administrators working with the API.*
|
*This document provides a comprehensive reference for all HTTP endpoints in the Norda Biznes Partner application. It serves as the authoritative guide for developers, integrators, and system administrators working with the API.*
|
||||||
|
|||||||
@ -792,7 +792,7 @@ sudo -u www-data cat /var/www/nordabiznes/.env | grep GEMINI_API_KEY
|
|||||||
|
|
||||||
# 2. Test Gemini API directly
|
# 2. Test Gemini API directly
|
||||||
curl -H "x-goog-api-key: YOUR_API_KEY" \
|
curl -H "x-goog-api-key: YOUR_API_KEY" \
|
||||||
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent" \
|
"https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
|
-d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
|
||||||
|
|
||||||
@ -1242,7 +1242,7 @@ fi
|
|||||||
# 1. Test Gemini API directly
|
# 1. Test Gemini API directly
|
||||||
GEMINI_KEY=$(sudo -u www-data grep GEMINI_API_KEY /var/www/nordabiznes/.env | cut -d= -f2)
|
GEMINI_KEY=$(sudo -u www-data grep GEMINI_API_KEY /var/www/nordabiznes/.env | cut -d= -f2)
|
||||||
|
|
||||||
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent" \
|
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3-flash-preview:generateContent" \
|
||||||
-H "x-goog-api-key: $GEMINI_KEY" \
|
-H "x-goog-api-key: $GEMINI_KEY" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"contents":[{"parts":[{"text":"Hello, test"}]}]}'
|
-d '{"contents":[{"parts":[{"text":"Hello, test"}]}]}'
|
||||||
|
|||||||
@ -206,7 +206,7 @@ graph TB
|
|||||||
| **Web Framework** | Flask 3.0 + Gunicorn | HTTP routing, business logic, templating |
|
| **Web Framework** | Flask 3.0 + Gunicorn | HTTP routing, business logic, templating |
|
||||||
| **Database** | PostgreSQL 13+ | Relational data, FTS, JSONB, pg_trgm |
|
| **Database** | PostgreSQL 13+ | Relational data, FTS, JSONB, pg_trgm |
|
||||||
| **Authentication** | Flask-Login | Session management, user authentication |
|
| **Authentication** | Flask-Login | Session management, user authentication |
|
||||||
| **AI/ML** | Google Gemini 2.0 Flash | Chat, recommendations, content analysis |
|
| **AI/ML** | Google Gemini 3 Flash | Chat, recommendations, content analysis |
|
||||||
| **Search** | Brave Search API | News monitoring, social media discovery |
|
| **Search** | Brave Search API | News monitoring, social media discovery |
|
||||||
| **SEO Audit** | Google PageSpeed Insights | Performance, accessibility, SEO scoring |
|
| **SEO Audit** | Google PageSpeed Insights | Performance, accessibility, SEO scoring |
|
||||||
| **Business Data** | Google Places API | Reviews, ratings, business profiles |
|
| **Business Data** | Google Places API | Reviews, ratings, business profiles |
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document describes the **complete authentication flow** for the Norda Biznes Hub application, covering:
|
This document describes the **complete authentication flow** for the Norda Biznes Partner application, covering:
|
||||||
|
|
||||||
- **User Registration** with email verification
|
- **User Registration** with email verification
|
||||||
- **Login** with session management
|
- **Login** with session management
|
||||||
@ -871,4 +871,4 @@ Periodic security audit:
|
|||||||
|
|
||||||
**Document End**
|
**Document End**
|
||||||
|
|
||||||
*This document is maintained as part of the Norda Biznes Hub architecture documentation. For questions or updates, contact the development team.*
|
*This document is maintained as part of the Norda Biznes Partner architecture documentation. For questions or updates, contact the development team.*
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document describes the **complete company search flow** for the Norda Biznes Hub application, covering:
|
This document describes the **complete company search flow** for the Norda Biznes Partner application, covering:
|
||||||
|
|
||||||
- **User Search Interface** (`/search` route)
|
- **User Search Interface** (`/search` route)
|
||||||
- **Search Service Architecture** (unified search with multiple strategies)
|
- **Search Service Architecture** (unified search with multiple strategies)
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document describes the **complete AI chat flow** for the Norda Biznes Hub application, covering:
|
This document describes the **complete AI chat flow** for the Norda Biznes Partner application, covering:
|
||||||
|
|
||||||
- **Chat Interface** (`/chat` route)
|
- **Chat Interface** (`/chat` route)
|
||||||
- **Conversation Management** (start, message, history)
|
- **Conversation Management** (start, message, history)
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document describes the **complete SEO audit flow** for the Norda Biznes Hub application, covering:
|
This document describes the **complete SEO audit flow** for the Norda Biznes Partner application, covering:
|
||||||
|
|
||||||
- **Admin Dashboard** (`/admin/seo` route)
|
- **Admin Dashboard** (`/admin/seo` route)
|
||||||
- **Single Company Audit** (admin-triggered via UI/API)
|
- **Single Company Audit** (admin-triggered via UI/API)
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document describes the **complete news monitoring flow** for the Norda Biznes Hub application, covering:
|
This document describes the **complete news monitoring flow** for the Norda Biznes Partner application, covering:
|
||||||
|
|
||||||
- **News Discovery** via Brave Search API
|
- **News Discovery** via Brave Search API
|
||||||
- **AI-Powered Filtering** using Google Gemini AI
|
- **AI-Powered Filtering** using Google Gemini AI
|
||||||
@ -20,7 +20,7 @@ This document describes the **complete news monitoring flow** for the Norda Bizn
|
|||||||
|
|
||||||
**Key Technology:**
|
**Key Technology:**
|
||||||
- **Search API:** Brave Search News API (free tier: 2,000 req/month)
|
- **Search API:** Brave Search News API (free tier: 2,000 req/month)
|
||||||
- **AI Filter:** Google Gemini 2.0 Flash (relevance scoring and classification)
|
- **AI Filter:** Google Gemini 3 Flash (relevance scoring and classification)
|
||||||
- **Database:** PostgreSQL (company_news and user_notifications tables)
|
- **Database:** PostgreSQL (company_news and user_notifications tables)
|
||||||
- **Scheduler:** Planned cron job (6-hour intervals)
|
- **Scheduler:** Planned cron job (6-hour intervals)
|
||||||
|
|
||||||
@ -521,7 +521,7 @@ DOSTĘPNE TYPY:
|
|||||||
def track_ai_cost(prompt_tokens: int, completion_tokens: int, model: str):
|
def track_ai_cost(prompt_tokens: int, completion_tokens: int, model: str):
|
||||||
"""
|
"""
|
||||||
Track AI API usage and cost.
|
Track AI API usage and cost.
|
||||||
Gemini 2.0 Flash: Free tier 1,500 req/day
|
Gemini 3 Flash: Free tier 1,500 req/day
|
||||||
"""
|
"""
|
||||||
cost_per_1k_input = 0.0 # Free tier
|
cost_per_1k_input = 0.0 # Free tier
|
||||||
cost_per_1k_output = 0.0 # Free tier
|
cost_per_1k_output = 0.0 # Free tier
|
||||||
|
|||||||
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This document describes the **complete HTTP request flow** for the Norda Biznes Hub application, from external user through reverse proxy to Flask application and back. It covers:
|
This document describes the **complete HTTP request flow** for the Norda Biznes Partner application, from external user through reverse proxy to Flask application and back. It covers:
|
||||||
|
|
||||||
- **Complete request path** (Internet → Fortigate → NPM → Flask → Response)
|
- **Complete request path** (Internet → Fortigate → NPM → Flask → Response)
|
||||||
- **Critical port configurations** and routing decisions
|
- **Critical port configurations** and routing decisions
|
||||||
@ -537,7 +537,7 @@ x-request-id: abc123def456
|
|||||||
<html lang="pl">
|
<html lang="pl">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Norda Biznes Hub - Katalog firm</title>
|
<title>Norda Biznes Partner - Katalog firm</title>
|
||||||
<!-- ... CSS, meta tags ... -->
|
<!-- ... CSS, meta tags ... -->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@ -1098,7 +1098,7 @@ response = requests.put(
|
|||||||
|
|
||||||
```ini
|
```ini
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Norda Biznes Hub Flask Application
|
Description=Norda Biznes Partner Flask Application
|
||||||
After=network.target postgresql.service
|
After=network.target postgresql.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
|
|||||||
@ -1,163 +1,144 @@
|
|||||||
# Norda Biznes Hub - Dokumentacja Platformy
|
# Norda Biznes Partner - Platforma dla Przedsiębiorców
|
||||||
|
|
||||||
## O projekcie
|
## O Portalu
|
||||||
|
|
||||||
**Norda Biznes Hub** to nowoczesna platforma katalogowa i networkingowa dla członków **Izby Przedsiębiorców NORDA** z Wejherowa. Portal jest dostępny pod adresem https://nordabiznes.pl i działa produkcyjnie od 23 listopada 2025 roku.
|
**Norda Biznes Partner** to nowoczesna platforma katalogowa i networkingowa stworzona dla członków Izby Przedsiębiorców NORDA z Wejherowa. Portal łączy ponad 150 firm z regionu Kaszub, umożliwiając im networking, współpracę biznesową i wymianę doświadczeń.
|
||||||
|
|
||||||
Platforma zrzesza **150 podmiotów gospodarczych** z 4 głównych kategorii branżowych i 17 podkategorii. To centralny hub dla przedsiębiorców z Pomorza - miejsce gdzie można znaleźć partnera biznesowego, sprawdzić kompetencje firm członkowskich i nawiązać współpracę.
|
**Adres:** https://nordabiznes.pl
|
||||||
|
**Status:** Aktywny od listopada 2025
|
||||||
|
|
||||||
## Główne funkcje portalu
|
## Główne Funkcje Portalu
|
||||||
|
|
||||||
### 1. Katalog firm (150 podmiotów)
|
### 1. Katalog Firm (150 podmiotów)
|
||||||
|
|
||||||
Pełny katalog wszystkich firm członkowskich Izby NORDA z podziałem na kategorie:
|
Kompleksowa baza danych wszystkich członków Izby Przedsiębiorców NORDA:
|
||||||
- **Usługi** - IT i technologie, księgowość, usługi finansowe, HR, marketing, doradztwo prawne
|
|
||||||
- **Budownictwo** - budownictwo ogólne, instalacje, wykończenia
|
|
||||||
- **Handel** - hurt, detal, automotive
|
|
||||||
- **Produkcja** - produkcja ogólna, meble, przemysł
|
|
||||||
|
|
||||||
Każda firma ma szczegółowy profil zawierający:
|
- **Profile firm** z pełnymi danymi kontaktowymi (telefon, email, adres, strona WWW)
|
||||||
- Dane kontaktowe (telefon, email, adres)
|
- **Opisy działalności** i oferowanych usług
|
||||||
- Opis działalności i specjalizacji
|
- **Kategorie branżowe:** IT i Technologie, Budownictwo, Usługi, Produkcja, Handel i Hurtownie, Motoryzacja
|
||||||
- Usługi i kompetencje (tagi)
|
- **Tagi kompetencji** - szczegółowe oznaczenia specjalizacji każdej firmy
|
||||||
- Dane rejestrowe (NIP, REGON, KRS)
|
- **Weryfikacja jakości** - system oceny kompletności profilu (0-100%)
|
||||||
- Linki do social mediów (Facebook, LinkedIn, Instagram)
|
- **Filtrowanie** po kategorii, lokalizacji i słowach kluczowych
|
||||||
- Data przystąpienia do Izby NORDA
|
|
||||||
- Oceny Google (z audytu Google Business Profile)
|
Przykładowe firmy w katalogu:
|
||||||
|
- ALMARES - sprzedaż materiałów budowlanych od 1995 roku
|
||||||
|
- Pixlab - agencja IT i technologie
|
||||||
|
- Sigma Budownictwo - generalny wykonawca z portfolio 250 tys. m²
|
||||||
|
- P&P - roboty budowlane i automatyka przemysłowa
|
||||||
|
- Waterm - technika grzewcza i instalacje sanitarne
|
||||||
|
|
||||||
### 2. NordaGPT - Asystent AI
|
### 2. NordaGPT - Asystent AI
|
||||||
|
|
||||||
NordaGPT to inteligentny chatbot oparty na **Google Gemini 3 Flash** - najnowszej generacji modelu AI z zaawansowanym rozumowaniem (thinking mode). Jest to flagowa funkcja platformy.
|
Innowacyjny chatbot oparty na sztucznej inteligencji (Google Gemini 3 Flash), który:
|
||||||
|
|
||||||
**Co potrafi NordaGPT:**
|
- **Zna wszystkie 150 firm** w katalogu i ich specjalizacje
|
||||||
- Znajdowanie firm po usługach, branży lub słowach kluczowych
|
- **Odpowiada na pytania** w języku polskim
|
||||||
- Odpowiadanie na pytania o członków Izby (np. "Kto jest prezesem PIXLAB?")
|
- **Pomaga znaleźć partnerów** do projektów biznesowych
|
||||||
- Sprawdzanie kalendarza wydarzeń Norda Biznes
|
- **Rekomenduje firmy** na podstawie potrzeb użytkownika
|
||||||
- Podawanie rekomendacji (np. "Która firma ma najlepsze opinie Google?")
|
- **Informuje o wydarzeniach** i aktualnościach Izby
|
||||||
- Informowanie o ogłoszeniach B2B na tablicy
|
|
||||||
- Wyszukiwanie osób powiązanych z firmami (zarząd, właściciele)
|
|
||||||
|
|
||||||
**Przykładowe pytania:**
|
Przykładowe pytania do NordaGPT:
|
||||||
- "Kto oferuje usługi IT w Wejherowie?"
|
- "Szukam firmy budowlanej z Wejherowa"
|
||||||
- "Kiedy następne spotkanie Norda Biznes?"
|
- "Kto zajmuje się marketingiem?"
|
||||||
- "Poleć firmę budowlaną z dobrymi opiniami"
|
- "Znajdź partnera do projektu IT"
|
||||||
- "Szukam drukarni dla mojej firmy"
|
- "Jakie są nadchodzące wydarzenia Izby?"
|
||||||
|
|
||||||
NordaGPT ma dostęp do pełnej bazy danych 150 firm, kalendarza wydarzeń, tablicy B2B, forum i rekomendacji członków. Odpowiada w języku polskim i podaje bezpośrednie linki do profilów firm.
|
NordaGPT działa 24/7 i jest dostępny bezpłatnie dla wszystkich zalogowanych użytkowników.
|
||||||
|
|
||||||
### 3. Kalendarz wydarzeń
|
### 3. Forum Dyskusyjne
|
||||||
|
|
||||||
Interaktywny kalendarz spotkań i wydarzeń organizowanych przez Izbę NORDA:
|
Przestrzeń do wymiany doświadczeń i wiedzy między przedsiębiorcami:
|
||||||
- Widok miesięczny z oznaczonymi wydarzeniami
|
|
||||||
- Szczegóły: data, godzina, miejsce, opis
|
|
||||||
- System zapisów (RSVP) - potwierdź udział jednym kliknięciem
|
|
||||||
- Lista uczestników - zobacz kto jeszcze będzie
|
|
||||||
- Banner na stronie głównej z najbliższym wydarzeniem
|
|
||||||
|
|
||||||
### 4. Forum dyskusyjne
|
- **Tematy branżowe** - dyskusje o trendach w różnych sektorach
|
||||||
|
- **Propozycje funkcji** - zgłaszanie pomysłów na rozwój portalu
|
||||||
|
- **Pytania i odpowiedzi** - wzajemna pomoc między członkami
|
||||||
|
- **Networking** - nawiązywanie kontaktów biznesowych
|
||||||
|
|
||||||
Miejsce wymiany wiedzy i doświadczeń między członkami:
|
### 4. Kalendarz Wydarzeń
|
||||||
- Tematy z różnych kategorii (pytania, ogłoszenia, dyskusje)
|
|
||||||
- Możliwość odpowiadania i komentowania
|
|
||||||
- Załączniki (dokumenty, zdjęcia)
|
|
||||||
- Powiadomienia o nowych odpowiedziach
|
|
||||||
|
|
||||||
### 5. Tablica ogłoszeń B2B
|
Pełna informacja o spotkaniach i wydarzeniach Izby:
|
||||||
|
|
||||||
Marketplace dla członków Izby:
|
- **Chwila dla Biznesu** - cykliczne spotkania networkingowe (ostatni czwartek miesiąca, godz. 19:00, Hotel Olimp w Wejherowie)
|
||||||
- Ogłoszenia typu "Szukam" i "Oferuję"
|
- **Rada Izby NORDA** - comiesięczne zebrania zarządu (pierwsza środa miesiąca)
|
||||||
- Kategorie: usługi, produkty, współpraca, zlecenia
|
- **Szkolenia i warsztaty** - wydarzenia edukacyjne dla członków
|
||||||
- Kontakt bezpośredni z autorem ogłoszenia
|
- **Zapisywanie się** na wydarzenia bezpośrednio z portalu
|
||||||
- Automatyczne wygasanie po 30 dniach
|
|
||||||
|
|
||||||
### 6. Prywatne wiadomości
|
### 5. Tablica Ogłoszeń B2B
|
||||||
|
|
||||||
System komunikacji między członkami:
|
Platforma do publikacji ogłoszeń biznesowych:
|
||||||
- Bezpośrednie wiadomości do innych użytkowników
|
|
||||||
- Historia rozmów
|
|
||||||
- Powiadomienia o nowych wiadomościach
|
|
||||||
- Możliwość blokowania kontaktów
|
|
||||||
|
|
||||||
### 7. Raporty i statystyki
|
- **Szukam** - ogłoszenia poszukiwania partnerów, wykonawców, dostawców
|
||||||
|
- **Oferuję** - oferty usług i produktów
|
||||||
|
- **Współpraca** - propozycje joint venture i partnerstwa
|
||||||
|
- **Praca** - oferty zatrudnienia w firmach członkowskich
|
||||||
|
- **Produkty i usługi** - prezentacja oferty handlowej
|
||||||
|
|
||||||
Dostępne dla zalogowanych użytkowników:
|
## Korzyści dla Członków Izby
|
||||||
- Staż członkostwa w Izbie (ranking od najdłużej)
|
|
||||||
- Pokrycie social mediów (analiza 6 platform)
|
|
||||||
- Struktura branżowa (rozkład firm wg kategorii)
|
|
||||||
|
|
||||||
### 8. Aktualności
|
### Networking i Relacje
|
||||||
|
- Dostęp do kontaktów 150 firm z regionu
|
||||||
|
- Możliwość nawiązywania współpracy B2B
|
||||||
|
- Udział w wydarzeniach networkingowych
|
||||||
|
- Forum do wymiany doświadczeń
|
||||||
|
|
||||||
Sekcja z ogłoszeniami i newsami:
|
### Widoczność i Promocja
|
||||||
- Informacje od zarządu Izby
|
- Profil firmy widoczny dla wszystkich członków
|
||||||
- Okazje biznesowe
|
- Prezentacja oferty i kompetencji
|
||||||
- Wydarzenia partnerskie
|
- Rekomendacje przez NordaGPT
|
||||||
- Możliwość przypinania ważnych ogłoszeń
|
- Publikacja ogłoszeń na tablicy B2B
|
||||||
|
|
||||||
## Korzyści dla członków
|
### Wiedza i Rozwój
|
||||||
|
- Dostęp do materiałów edukacyjnych
|
||||||
### Networking
|
- Informacje o szkoleniach i wydarzeniach
|
||||||
- Poznaj 150 firm z różnych branż
|
- Dyskusje branżowe na forum
|
||||||
- Znajdź partnera do projektu
|
- Wsparcie AI w wyszukiwaniu informacji
|
||||||
- Nawiąż współpracę B2B
|
|
||||||
- Wymieniaj się doświadczeniami na forum
|
|
||||||
|
|
||||||
### Widoczność
|
|
||||||
- Profesjonalny profil firmy z pełnym opisem
|
|
||||||
- Pozycjonowanie w katalogu branżowym
|
|
||||||
- Linki do social mediów
|
|
||||||
- Prezentacja usług i kompetencji
|
|
||||||
|
|
||||||
### Wygoda
|
|
||||||
- Jeden portal dla wszystkiego
|
|
||||||
- NordaGPT odpowie na pytania 24/7
|
|
||||||
- Powiadomienia o wydarzeniach
|
|
||||||
- Mobilna wersja responsywna
|
|
||||||
|
|
||||||
### Bezpieczeństwo
|
|
||||||
- Tylko zweryfikowani członkowie Izby
|
|
||||||
- Kontrola prywatności (ukrywanie danych kontaktowych)
|
|
||||||
- System blokowania niechcianych kontaktów
|
|
||||||
- Zgodność z RODO
|
|
||||||
|
|
||||||
## Historia rozwoju
|
|
||||||
|
|
||||||
### Listopad 2025
|
|
||||||
- Premiera platformy nordabiznes.pl
|
|
||||||
- Uruchomienie NordaGPT z Gemini 2.0
|
|
||||||
- Import danych 111 firm członkowskich
|
|
||||||
|
|
||||||
### Grudzień 2025
|
|
||||||
- Rozbudowa profili firm o dane KRS
|
|
||||||
- Dodanie audytów Google Business Profile
|
|
||||||
- Integracja z social mediami
|
|
||||||
|
|
||||||
### Styczeń 2026
|
|
||||||
- Upgrade NordaGPT do Gemini 3 Flash (7x lepsze rozumowanie)
|
|
||||||
- Dodanie historii konwersacji w chacie
|
|
||||||
- System prywatności i blokowania kontaktów
|
|
||||||
- Hierarchiczne kategorie firm (4 główne grupy)
|
|
||||||
- Panel raportów i statystyk
|
|
||||||
- Sekcja aktualności
|
|
||||||
- Integracja z CEIDG do pobierania danych JDG
|
|
||||||
|
|
||||||
## Technologia
|
## Technologia
|
||||||
|
|
||||||
Portal zbudowany jest na nowoczesnym stacku technologicznym:
|
Portal został stworzony z wykorzystaniem nowoczesnych technologii:
|
||||||
- **Backend:** Python Flask z SQLAlchemy
|
|
||||||
- **Frontend:** HTML5, CSS3, JavaScript
|
- **Backend:** Python Flask 3.0
|
||||||
- **Baza danych:** PostgreSQL
|
- **Baza danych:** PostgreSQL
|
||||||
- **AI:** Google Gemini 3 Flash (1M tokenów kontekstu)
|
- **AI:** Google Gemini 3 Flash (bezpłatny tier)
|
||||||
- **Hosting:** Serwery w Polsce (INPI)
|
- **Bezpieczeństwo:** Dwuskładnikowe uwierzytelnianie (2FA), szyfrowanie HTTPS
|
||||||
- **SSL:** Certyfikat Let's Encrypt
|
- **Hosting:** Serwer dedykowany w infrastrukturze INPI
|
||||||
|
|
||||||
## Informacje kontaktowe
|
## Izba Przedsiębiorców NORDA
|
||||||
|
|
||||||
- **Strona:** https://nordabiznes.pl
|
Izba Przedsiębiorców NORDA to stowarzyszenie zrzeszające przedsiębiorców z Wejherowa i okolic. Główne cele Izby:
|
||||||
- **Organizator:** Izba Przedsiębiorców NORDA, Wejherowo
|
|
||||||
- **Kontakt:** Przez formularz na stronie lub poprzez profil firmy
|
|
||||||
|
|
||||||
## Podsumowanie
|
- Wspieranie lokalnego biznesu
|
||||||
|
- Networking i integracja przedsiębiorców
|
||||||
|
- Reprezentowanie interesów członków
|
||||||
|
- Organizacja wydarzeń biznesowych
|
||||||
|
- Promocja regionu Kaszub
|
||||||
|
|
||||||
Norda Biznes Hub to nowoczesna platforma dla przedsiębiorców z Pomorza. Łączy katalog 150 firm z inteligentnym asystentem AI, kalendarzem wydarzeń i narzędziami do networkingu. Dzięki NordaGPT użytkownicy mogą szybko znaleźć odpowiedniego partnera biznesowego - wystarczy zadać pytanie w naturalnym języku.
|
**Kontakt:**
|
||||||
|
- Adres: ul. 12 Marca 238/5, 84-200 Wejherowo
|
||||||
|
- Telefon: +48 729 716 400
|
||||||
|
- Email: kontakt@nordabiznes.pl
|
||||||
|
|
||||||
Platforma jest stale rozwijana. W 2026 roku planowane są: platforma edukacyjna z webinarami, rozbudowa funkcji rekomendacji między firmami oraz integracje z zewnętrznymi systemami.
|
## Jak Dołączyć?
|
||||||
|
|
||||||
|
Aby korzystać z portalu Norda Biznes Partner:
|
||||||
|
|
||||||
|
1. Zostań członkiem Izby Przedsiębiorców NORDA
|
||||||
|
2. Otrzymaj dostęp do portalu (login i hasło)
|
||||||
|
3. Uzupełnij profil swojej firmy
|
||||||
|
4. Korzystaj z wszystkich funkcji platformy
|
||||||
|
|
||||||
|
## Plany Rozwoju
|
||||||
|
|
||||||
|
Portal jest stale rozwijany. Planowane funkcje:
|
||||||
|
|
||||||
|
- **Moduł rekomendacji** - automatyczne dopasowywanie firm do współpracy
|
||||||
|
- **Integracja z LinkedIn** - import danych firmowych
|
||||||
|
- **Aplikacja mobilna** - dostęp z telefonu
|
||||||
|
- **Rozszerzone statystyki** - analityka profilu firmy
|
||||||
|
- **Webinary i szkolenia online** - platforma edukacyjna
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*Norda Biznes Partner - Twoja sieć kontaktów w regionie Kaszub*
|
||||||
|
|
||||||
|
*Stworzone przez INPI dla Izby Przedsiębiorców NORDA*
|
||||||
|
|||||||
@ -132,7 +132,7 @@ class EmailService:
|
|||||||
|
|
||||||
# Build email message
|
# Build email message
|
||||||
# Display name for sender - shown in email clients
|
# Display name for sender - shown in email clients
|
||||||
sender_display_name = "Norda Biznes Hub"
|
sender_display_name = "Norda Biznes Partner"
|
||||||
|
|
||||||
email_msg = {
|
email_msg = {
|
||||||
"message": {
|
"message": {
|
||||||
@ -336,9 +336,9 @@ def send_password_reset_email(email: str, reset_url: str) -> bool:
|
|||||||
Returns:
|
Returns:
|
||||||
True if sent successfully, False otherwise
|
True if sent successfully, False otherwise
|
||||||
"""
|
"""
|
||||||
subject = "Reset hasła - Norda Biznes Hub"
|
subject = "Reset hasła - Norda Biznes Partner"
|
||||||
|
|
||||||
body_text = f"""Otrzymałeś ten email, ponieważ zażądano resetowania hasła dla Twojego konta Norda Biznes Hub.
|
body_text = f"""Otrzymałeś ten email, ponieważ zażądano resetowania hasła dla Twojego konta Norda Biznes Partner.
|
||||||
|
|
||||||
Aby zresetować hasło, kliknij w poniższy link:
|
Aby zresetować hasło, kliknij w poniższy link:
|
||||||
{reset_url}
|
{reset_url}
|
||||||
@ -348,7 +348,7 @@ Link będzie ważny przez 1 godzinę.
|
|||||||
Jeśli nie zażądałeś resetowania hasła, zignoruj ten email.
|
Jeśli nie zażądałeś resetowania hasła, zignoruj ten email.
|
||||||
|
|
||||||
---
|
---
|
||||||
Norda Biznes Hub - Platforma Networkingu Regionalnej Izby Przedsiębiorców
|
Norda Biznes Partner - Platforma Networkingu Regionalnej Izby Przedsiębiorców
|
||||||
https://nordabiznes.pl
|
https://nordabiznes.pl
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -375,7 +375,7 @@ https://nordabiznes.pl
|
|||||||
<h1>Reset hasła</h1>
|
<h1>Reset hasła</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<p>Otrzymałeś ten email, ponieważ zażądano resetowania hasła dla Twojego konta Norda Biznes Hub.</p>
|
<p>Otrzymałeś ten email, ponieważ zażądano resetowania hasła dla Twojego konta Norda Biznes Partner.</p>
|
||||||
|
|
||||||
<p>Aby zresetować hasło, kliknij w poniższy przycisk:</p>
|
<p>Aby zresetować hasło, kliknij w poniższy przycisk:</p>
|
||||||
|
|
||||||
@ -396,7 +396,7 @@ https://nordabiznes.pl
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<p><strong>Norda Biznes Hub</strong> - Platforma Networkingu Regionalnej Izby Przedsiębiorców</p>
|
<p><strong>Norda Biznes Partner</strong> - Platforma Networkingu Regionalnej Izby Przedsiębiorców</p>
|
||||||
<p><a href="https://nordabiznes.pl">nordabiznes.pl</a></p>
|
<p><a href="https://nordabiznes.pl">nordabiznes.pl</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -425,11 +425,11 @@ def send_welcome_email(email: str, name: str, verification_url: str) -> bool:
|
|||||||
Returns:
|
Returns:
|
||||||
True if sent successfully, False otherwise
|
True if sent successfully, False otherwise
|
||||||
"""
|
"""
|
||||||
subject = "Witamy w Norda Biznes Hub - Potwierdź email"
|
subject = "Witamy w Norda Biznes Partner - Potwierdź email"
|
||||||
|
|
||||||
body_text = f"""Witaj {name}!
|
body_text = f"""Witaj {name}!
|
||||||
|
|
||||||
Dziękujemy za rejestrację w Norda Biznes Hub - platformie networkingu Regionalnej Izby Przedsiębiorców Norda Biznes.
|
Dziękujemy za rejestrację w Norda Biznes Partner - platformie networkingu Regionalnej Izby Przedsiębiorców Norda Biznes.
|
||||||
|
|
||||||
Aby aktywować swoje konto, potwierdź adres email klikając w poniższy link:
|
Aby aktywować swoje konto, potwierdź adres email klikając w poniższy link:
|
||||||
{verification_url}
|
{verification_url}
|
||||||
@ -442,10 +442,10 @@ Po potwierdzeniu email będziesz mógł:
|
|||||||
- Nawiązywać kontakty biznesowe
|
- Nawiązywać kontakty biznesowe
|
||||||
|
|
||||||
Pozdrawiamy,
|
Pozdrawiamy,
|
||||||
Zespół Norda Biznes Hub
|
Zespół Norda Biznes Partner
|
||||||
|
|
||||||
---
|
---
|
||||||
Norda Biznes Hub - Platforma Networkingu Regionalnej Izby Przedsiębiorców
|
Norda Biznes Partner - Platforma Networkingu Regionalnej Izby Przedsiębiorców
|
||||||
https://nordabiznes.pl
|
https://nordabiznes.pl
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -469,12 +469,12 @@ https://nordabiznes.pl
|
|||||||
<body>
|
<body>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<h1>Witamy w Norda Biznes Hub!</h1>
|
<h1>Witamy w Norda Biznes Partner!</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<p>Witaj <strong>{name}</strong>!</p>
|
<p>Witaj <strong>{name}</strong>!</p>
|
||||||
|
|
||||||
<p>Dziękujemy za rejestrację w Norda Biznes Hub - platformie networkingu Regionalnej Izby Przedsiębiorców Norda Biznes.</p>
|
<p>Dziękujemy za rejestrację w Norda Biznes Partner - platformie networkingu Regionalnej Izby Przedsiębiorców Norda Biznes.</p>
|
||||||
|
|
||||||
<p>Aby aktywować swoje konto, potwierdź adres email:</p>
|
<p>Aby aktywować swoje konto, potwierdź adres email:</p>
|
||||||
|
|
||||||
@ -496,7 +496,7 @@ https://nordabiznes.pl
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<p><strong>Norda Biznes Hub</strong> - Platforma Networkingu Regionalnej Izby Przedsiębiorców</p>
|
<p><strong>Norda Biznes Partner</strong> - Platforma Networkingu Regionalnej Izby Przedsiębiorców</p>
|
||||||
<p><a href="https://nordabiznes.pl">nordabiznes.pl</a></p>
|
<p><a href="https://nordabiznes.pl">nordabiznes.pl</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
GBP Audit Service for Norda Biznes Hub
|
GBP Audit Service for Norda Biznes Partner
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
Google Business Profile completeness audit service with:
|
Google Business Profile completeness audit service with:
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
IT Audit Service for Norda Biznes Hub
|
IT Audit Service for Norda Biznes Partner
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
IT infrastructure audit service with:
|
IT infrastructure audit service with:
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
# Norda Biznes Hub - Python Dependencies
|
# Norda Biznes Partner - Python Dependencies
|
||||||
# ======================================
|
# ======================================
|
||||||
|
|
||||||
# Web Framework
|
# Web Framework
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
"""
|
"""
|
||||||
AI Quality Test Runner for Norda Biznes Hub
|
AI Quality Test Runner for Norda Biznes Partner
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
python run_ai_quality_tests.py [--verbose] [--save]
|
python run_ai_quality_tests.py [--verbose] [--save]
|
||||||
@ -86,7 +86,7 @@ def run_quick_tests(evaluator: AIQualityEvaluator, verbose: bool = False) -> Eva
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(
|
||||||
description="AI Quality Test Runner for Norda Biznes Hub",
|
description="AI Quality Test Runner for Norda Biznes Partner",
|
||||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||||
epilog="""
|
epilog="""
|
||||||
Examples:
|
Examples:
|
||||||
@ -108,7 +108,7 @@ Examples:
|
|||||||
|
|
||||||
print(f"""
|
print(f"""
|
||||||
╔════════════════════════════════════════════════════════════╗
|
╔════════════════════════════════════════════════════════════╗
|
||||||
║ Norda Biznes Hub - AI Quality Tests ║
|
║ Norda Biznes Partner - AI Quality Tests ║
|
||||||
╠════════════════════════════════════════════════════════════╣
|
╠════════════════════════════════════════════════════════════╣
|
||||||
║ Evaluating chat AI response quality ║
|
║ Evaluating chat AI response quality ║
|
||||||
║ Pass threshold: {args.threshold:.0%} ║
|
║ Pass threshold: {args.threshold:.0%} ║
|
||||||
|
|||||||
@ -299,4 +299,4 @@ Pytania lub problemy? Kontakt:
|
|||||||
|
|
||||||
**Wersja:** 1.0
|
**Wersja:** 1.0
|
||||||
**Ostatnia aktualizacja:** 2025-11-23
|
**Ostatnia aktualizacja:** 2025-11-23
|
||||||
**Autor:** Norda Biznes Hub Development Team
|
**Autor:** Norda Biznes Partner Development Team
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
* - Google Search (znajdowanie stron WWW)
|
* - Google Search (znajdowanie stron WWW)
|
||||||
* - Strony firmowe (kontakt, usługi, kompetencje)
|
* - Strony firmowe (kontakt, usługi, kompetencje)
|
||||||
*
|
*
|
||||||
* Autor: Norda Biznes Hub Development
|
* Autor: Norda Biznes Partner Development
|
||||||
* Data: 2025-11-23
|
* Data: 2025-11-23
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|||||||
@ -53,7 +53,7 @@ def import_company():
|
|||||||
category_id=category.id if category else None,
|
category_id=category.id if category else None,
|
||||||
description_short='Firma demonstracyjna projektu Norda Partner - Kaszubia 2030',
|
description_short='Firma demonstracyjna projektu Norda Partner - Kaszubia 2030',
|
||||||
description_full='''Kaszubia 2030 to przykładowa firma stworzona na potrzeby testowania
|
description_full='''Kaszubia 2030 to przykładowa firma stworzona na potrzeby testowania
|
||||||
i demonstracji funkcjonalności platformy Norda Biznes Hub (Norda Partner).
|
i demonstracji funkcjonalności platformy Norda Biznes Partner (Norda Partner).
|
||||||
|
|
||||||
Firma reprezentuje wizję rozwoju regionu Kaszub do roku 2030, łącząc:
|
Firma reprezentuje wizję rozwoju regionu Kaszub do roku 2030, łącząc:
|
||||||
- Innowacje technologiczne
|
- Innowacje technologiczne
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
Search Service for Norda Biznes Hub
|
Search Service for Norda Biznes Partner
|
||||||
|
|
||||||
Unified search functionality with:
|
Unified search functionality with:
|
||||||
- NIP/REGON direct lookup
|
- NIP/REGON direct lookup
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Panel Analityki - Norda Biznes Hub{% endblock %}
|
{% block title %}Panel Analityki - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Zarzadzanie Ogloszeniami - Norda Biznes Hub{% endblock %}
|
{% block title %}Zarzadzanie Ogloszeniami - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{% if announcement %}Edytuj ogloszenie{% else %}Nowe ogloszenie{% endif %} - Norda Biznes Hub{% endblock %}
|
{% block title %}{% if announcement %}Edytuj ogloszenie{% else %}Nowe ogloszenie{% endif %} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Analityka Chatu AI - Norda Biznes Hub{% endblock %}
|
{% block title %}Analityka Chatu AI - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Debug Panel - Norda Biznes Hub{% endblock %}
|
{% block title %}Debug Panel - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Dojrzałość Cyfrowa - Dashboard - Norda Biznes Hub{% endblock %}
|
{% block title %}Dojrzałość Cyfrowa - Dashboard - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Skladki Czlonkowskie - Norda Biznes Hub{% endblock %}
|
{% block title %}Skladki Czlonkowskie - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Moderacja Forum - Norda Biznes Hub{% endblock %}
|
{% block title %}Moderacja Forum - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Panel Audyt GBP - Norda Biznes Hub{% endblock %}
|
{% block title %}Panel Audyt GBP - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Panel Audytu IT - Norda Biznes Hub{% endblock %}
|
{% block title %}Panel Audytu IT - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Panel Audyt KRS - Norda Biznes Hub{% endblock %}
|
{% block title %}Panel Audyt KRS - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Moderacja Rekomendacji - Norda Biznes Hub{% endblock %}
|
{% block title %}Moderacja Rekomendacji - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Panel Audyt Social Media - Norda Biznes Hub{% endblock %}
|
{% block title %}Panel Audyt Social Media - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Social Media Analytics - Norda Biznes Hub{% endblock %}
|
{% block title %}Social Media Analytics - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Zarządzanie Użytkownikami - Norda Biznes Hub{% endblock %}
|
{% block title %}Zarządzanie Użytkownikami - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}ZOP Kaszubia - Panel Admina - Norda Biznes Hub{% endblock %}
|
{% block title %}ZOP Kaszubia - Panel Admina - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Panel SEO - Norda Biznes Hub{% endblock %}
|
{% block title %}Panel SEO - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ announcement.title }} - Aktualnosci - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ announcement.title }} - Aktualnosci - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block meta_description %}{{ announcement.excerpt or announcement.content|striptags|truncate(160) }}{% endblock %}
|
{% block meta_description %}{{ announcement.excerpt or announcement.content|striptags|truncate(160) }}{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Aktualnosci - Norda Biznes Hub{% endblock %}
|
{% block title %}Aktualnosci - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block meta_description %}Aktualnosci i ogloszenia dla czlonkow Norda Biznes. Wydarzenia, okazje biznesowe, informacje od czlonkow.{% endblock %}
|
{% block meta_description %}Aktualnosci i ogloszenia dla czlonkow Norda Biznes. Wydarzenia, okazje biznesowe, informacje od czlonkow.{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Kody zapasowe 2FA - Norda Biznes Hub{% endblock %}
|
{% block title %}Kody zapasowe 2FA - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Ustawienia 2FA - Norda Biznes Hub{% endblock %}
|
{% block title %}Ustawienia 2FA - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Konfiguracja 2FA - Norda Biznes Hub{% endblock %}
|
{% block title %}Konfiguracja 2FA - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Resetowanie hasla - Norda Biznes Hub{% endblock %}
|
{% block title %}Resetowanie hasla - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Logowanie - Norda Biznes Hub{% endblock %}
|
{% block title %}Logowanie - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Rejestracja - Norda Biznes Hub{% endblock %}
|
{% block title %}Rejestracja - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Wyslij ponownie email weryfikacyjny - Norda Biznes Hub{% endblock %}
|
{% block title %}Wyslij ponownie email weryfikacyjny - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Nowe haslo - Norda Biznes Hub{% endblock %}
|
{% block title %}Nowe haslo - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Weryfikacja 2FA - Norda Biznes Hub{% endblock %}
|
{% block title %}Weryfikacja 2FA - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}container-narrow{% endblock %}
|
{% block container_class %}container-narrow{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Zarządzanie wydarzeniami - Norda Biznes Hub{% endblock %}
|
{% block title %}Zarządzanie wydarzeniami - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Nowe wydarzenie - Norda Biznes Hub{% endblock %}
|
{% block title %}Nowe wydarzenie - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ event.title }} - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ event.title }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Kalendarz - Norda Biznes Hub{% endblock %}
|
{% block title %}Kalendarz - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}NordaGPT - Norda Biznes Hub{% endblock %}
|
{% block title %}NordaGPT - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block container_class %}chat-container-override{% endblock %}
|
{% block container_class %}chat-container-override{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Tablica B2B - Norda Biznes Hub{% endblock %}
|
{% block title %}Tablica B2B - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Nowe ogloszenie - Norda Biznes Hub{% endblock %}
|
{% block title %}Nowe ogloszenie - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ classified.title }} - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ classified.title }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Polec firmę - {{ company.name }} - Norda Biznes Hub{% endblock %}
|
{% block title %}Polec firmę - {{ company.name }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ company.name }} - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ company.name }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ company.name }} - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ company.name }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ company.name }} - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ company.name }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Mapa Powiazań - Norda Biznes Hub{% endblock %}
|
{% block title %}Mapa Powiazań - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ contact.full_name }} - {{ contact.organization_name }} - Kontakty - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ contact.full_name }} - {{ contact.organization_name }} - Kontakty - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block meta_description %}{{ contact.full_name }} - {{ contact.position or '' }} w {{ contact.organization_name }}. Kontakt zewnetrzny Norda Biznes.{% endblock %}
|
{% block meta_description %}{{ contact.full_name }} - {{ contact.position or '' }} w {{ contact.organization_name }}. Kontakt zewnetrzny Norda Biznes.{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{% if contact %}Edytuj kontakt{% else %}Dodaj kontakt{% endif %} - Norda Biznes Hub{% endblock %}
|
{% block title %}{% if contact %}Edytuj kontakt{% else %}Dodaj kontakt{% endif %} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Kontakty zewnetrzne - Norda Biznes Hub{% endblock %}
|
{% block title %}Kontakty zewnetrzne - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block meta_description %}Baza kontaktow zewnetrznych - urzedy, instytucje, partnerzy projektow. Dostepna dla czlonkow Norda Biznes.{% endblock %}
|
{% block meta_description %}Baza kontaktow zewnetrznych - urzedy, instytucje, partnerzy projektow. Dostepna dla czlonkow Norda Biznes.{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Panel użytkownika - Norda Biznes Hub{% endblock %}
|
{% block title %}Panel użytkownika - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Aktualności członków - Norda Biznes Hub{% endblock %}
|
{% block title %}Aktualności członków - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Forum - Norda Biznes Hub{% endblock %}
|
{% block title %}Forum - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Nowy temat - Forum - Norda Biznes Hub{% endblock %}
|
{% block title %}Nowy temat - Forum - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ topic.title }} - Forum - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ topic.title }} - Forum - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Audyt Google Business Profile - {{ company.name }} - Norda Biznes Hub{% endblock %}
|
{% block title %}Audyt Google Business Profile - {{ company.name }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Katalog firm - Norda Biznes Hub{% endblock %}
|
{% block title %}Katalog firm - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
/* Event Banner - Ankieta "Kto weźmie udział?" */
|
/* Event Banner - Ankieta "Kto weźmie udział?" */
|
||||||
@ -859,7 +859,7 @@
|
|||||||
<div class="nordagpt-header-left">
|
<div class="nordagpt-header-left">
|
||||||
<span style="font-size: 1.5rem;">🤖</span>
|
<span style="font-size: 1.5rem;">🤖</span>
|
||||||
<h2>NordaGPT</h2>
|
<h2>NordaGPT</h2>
|
||||||
<span class="nordagpt-header-badge">Gemini 2.0</span>
|
<span class="nordagpt-header-badge">Gemini 3</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="nordagpt-header-actions">
|
<div class="nordagpt-header-actions">
|
||||||
<button class="nordagpt-header-btn" onclick="minimizeNordaGPT()" title="Minimalizuj">
|
<button class="nordagpt-header-btn" onclick="minimizeNordaGPT()" title="Minimalizuj">
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Audyt IT - {{ company.name }} - Norda Biznes Hub{% endblock %}
|
{% block title %}Audyt IT - {{ company.name }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Audyt IT - {{ company.name }} - Norda Biznes Hub{% endblock %}
|
{% block title %}Audyt IT - {{ company.name }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Nowa wiadomosc - Norda Biznes Hub{% endblock %}
|
{% block title %}Nowa wiadomosc - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Wiadomosci - Norda Biznes Hub{% endblock %}
|
{% block title %}Wiadomosci - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Wyslane wiadomosci - Norda Biznes Hub{% endblock %}
|
{% block title %}Wyslane wiadomosci - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ message.subject or 'Wiadomosc' }} - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ message.subject or 'Wiadomosc' }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Nowi czlonkowie - Norda Biznes Hub{% endblock %}
|
{% block title %}Nowi czlonkowie - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ person.full_name() }} - Norda Biznes Hub{% endblock %}
|
{% block title %}{{ person.full_name() }} - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
@ -241,7 +241,7 @@
|
|||||||
Dane kontaktowe
|
Dane kontaktowe
|
||||||
</h2>
|
</h2>
|
||||||
<div class="no-portal-data">
|
<div class="no-portal-data">
|
||||||
Ta osoba nie ma jeszcze konta na portalu Norda Biznes Hub. Dane kontaktowe pojawia sie po rejestracji.
|
Ta osoba nie ma jeszcze konta na portalu Norda Biznes Partner. Dane kontaktowe pojawia sie po rejestracji.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Historia zmian - Norda Biznes Hub{% endblock %}
|
{% block title %}Historia zmian - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
@ -225,7 +225,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<h1>📋 Historia zmian</h1>
|
<h1>📋 Historia zmian</h1>
|
||||||
<p>Dziennik rozwoju platformy Norda Biznes Hub</p>
|
<p>Dziennik rozwoju platformy Norda Biznes Partner</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="stats-banner">
|
<div class="stats-banner">
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Struktura branżowa - Raporty - Norda Biznes Hub{% endblock %}
|
{% block title %}Struktura branżowa - Raporty - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Raporty - Norda Biznes Hub{% endblock %}
|
{% block title %}Raporty - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}Staż członkostwa - Raporty - Norda Biznes Hub{% endblock %}
|
{% block title %}Staż członkostwa - Raporty - Norda Biznes Partner{% endblock %}
|
||||||
|
|
||||||
{% block extra_css %}
|
{% block extra_css %}
|
||||||
<style>
|
<style>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user