nordabiz/README.md

5.9 KiB

Norda Biznes Hub

Production-ready Flask web application providing a business directory and networking platform for members of the Norda Biznes association from Wejherowo and surrounding area.

🚀 Status: LIVE in production since 2025-11-23 🌐 URL: https://nordabiznes.pl 📊 Coverage: 80 member companies (100% of Norda Biznes membership)

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.

Key Capabilities:

  • Company Directory - Complete catalog of 80 member companies with verified data
  • AI Chat Assistant - Google Gemini 2.5 Flash-powered conversational search
  • Advanced Search - Multi-mode search with FTS, fuzzy matching, and synonym expansion
  • Admin Panels - News moderation, SEO audit, social media tracking, GBP/IT audits
  • User Authentication - Secure login with email confirmation and role-based access
  • RESTful API - JSON endpoints for programmatic access to company data

Obecne funkcjonalności

Wersja 1.0

  • Lista 80 firm członkowskich
  • Wyszukiwarka firm (nazwa, opis)
  • Filtrowanie po kategoriach:
    • IT & Technologie
    • Budowlane
    • Usługi
    • Produkcja
    • Handel
  • Responsywny design (mobile, tablet, desktop)
  • Nowoczesny interfejs użytkownika

Struktura projektu

nordabiz/
├── index.html      # Główna strona HTML
├── styles.css      # Stylowanie CSS
├── script.js       # Logika JavaScript + dane firm
└── README.md       # Dokumentacja

Uruchomienie

Projekt jest statyczną stroną HTML. Aby uruchomić:

  1. Otwórz plik index.html w przeglądarce
  2. Lub użyj lokalnego serwera:
    # Python 3
    python3 -m http.server 8000
    
    # Node.js
    npx http-server
    
  3. Odwiedź: http://localhost:8000

Planowane rozszerzenia

Faza 2 - Profile firm

  • Szczegółowe profile każdej firmy
  • Dane kontaktowe (email, telefon, adres)
  • Linki do stron WWW i social media
  • Galeria zdjęć
  • Oferta produktów/usług

Faza 3 - Networking

  • System wiadomości między firmami
  • Tablica ogłoszeń
  • Oferty współpracy
  • Wydarzenia i spotkania networkingowe

Faza 4 - Deals & Współpraca

  • Marketplace dla ofert B2B
  • System matchingu partnerów biznesowych
  • Wspólne projekty i konsorcja
  • Referencje i rekomendacje

Faza 5 - Zaawansowane funkcje

  • Panel administracyjny
  • Logowanie dla członków
  • Newsletter
  • Blog / Aktualności
  • Statystyki i analytics
  • Integracja z CRM

Technology Stack

Backend

  • Python 3.9+ - Core programming language
  • Flask 3.0.0 - Web application framework
  • SQLAlchemy 2.0.23 - ORM and database abstraction layer
  • PostgreSQL - Primary relational database (production and development)
  • Gunicorn - WSGI HTTP server for production deployment

Security & Authentication

  • Flask-Login 0.6.3 - User session management and authentication
  • Flask-WTF 1.2.1 - CSRF protection and form validation
  • Flask-Limiter 3.5.0 - Rate limiting (200 req/day, 50 req/hour)

AI & Machine Learning

  • Google Gemini AI (google-generativeai 0.3.2)
    • Models: gemini-2.5-flash (default), gemini-2.5-flash-lite, gemini-2.5-pro
    • Features: Multi-turn conversations, context-aware recommendations, AI-powered search
    • Limits: Free tier (200 requests/day)

External API Integrations

  1. Google Gemini AI - Conversational AI and company recommendations
  2. Google PageSpeed Insights - SEO and performance analysis (25,000 req/day)
  3. Google Maps/Places - Business verification and geocoding
  4. Microsoft Graph API - Email service (OAuth2 with MSAL)
  5. KRS Open API - Polish business registry data
  6. Brave Search API - News monitoring and company mentions (2,000 req/month)

Frontend

  • Jinja2 - Server-side HTML template rendering (30+ templates)
  • CSS3 - Custom styling with Fluent Design System inspiration
  • Vanilla JavaScript (ES6+) - Dynamic UI interactions, AJAX, form validation
  • No external frameworks - Custom UI components (modals, toasts, cards, tables)

SEO & Web Analysis

  • BeautifulSoup4 4.12.3 - HTML parsing and meta tag extraction
  • lxml 5.1.0 - Fast XML/HTML processing with XPath support
  • python-whois 0.9.4 - Domain information and WHOIS lookup

Infrastructure & Deployment

  • Nginx Proxy Manager - Reverse proxy on R11-REVPROXY-01 (10.22.68.250)
  • Let's Encrypt - SSL/TLS certificates with auto-renewal
  • Docker - PostgreSQL container for local development
  • systemd - Service management (nordabiznes.service)
  • Git - Version control (GitHub + Gitea internal)

Database

  • PostgreSQL - Primary database with advanced features:
    • Full-text search (FTS) with tsvector
    • Fuzzy matching with pg_trgm extension
    • JSONB for flexible data storage
    • 20+ tables (Company, User, Chat, News, Social Media, SEO, etc.)
    • psycopg2-binary 2.9.9 adapter

Utilities

  • Flask-Mail 0.9.1 - Email functionality
  • requests 2.31.0 - HTTP client for external API calls
  • feedparser 6.0.10 - RSS/Atom feed parsing
  • python-dotenv 1.0.0 - Environment variable management

Dane kontaktowe Norda Biznes

Rozwój

Projekt jest gotowy do rozbudowy. Kolejne fazy mogą obejmować:

  1. Backend (Node.js, Python, PHP)
  2. Baza danych (PostgreSQL, MongoDB)
  3. Autoryzacja i uwierzytelnianie
  4. API dla integracji z innymi systemami
  5. Aplikacja mobilna

Licencja

Projekt stworzony dla Norda Biznes - Regionalna Izba Przedsiębiorców