6.2 KiB
NORDA BIZNES HUB - Informacje Projektowe
Cel Projektu
Katalog firm członkowskich NORDA BIZNES - stowarzyszenia biznesowego z Wejherowa i okolic. Aplikacja webowa umożliwiająca przeglądanie, wyszukiwanie i czat z AI o firmach członkowskich.
Status Bazy Danych
Aktualna Zawartość
- 80 firm - 100% pokrycie oficjalnej listy NORDA BIZNES
- Źródło: https://norda-biznes.info/czlonkowie
- Data ostatniej aktualizacji: 2025-11-24
Struktura Bazy
Database: SQLite (nordabiz_local.db)
ORM: SQLAlchemy
Tabele:
companies- 80 firm członkowskichcategories- kategorie branżoweusers- użytkownicy z logowaniem
Model Company (companies)
id INTEGER PRIMARY KEY
name VARCHAR(255) NOT NULL # Nazwa handlowa
legal_name VARCHAR(255) # Pełna nazwa prawna
slug VARCHAR(255) UNIQUE # URL-friendly identyfikator
# Identyfikatory podatkowe
nip VARCHAR(10) # NIP (bez UNIQUE - możliwe duplikaty)
regon VARCHAR(14) # REGON
krs VARCHAR(10) # KRS
# Dane kontaktowe
website VARCHAR(500)
email VARCHAR(255)
phone VARCHAR(50)
# Adres
address_street VARCHAR(255)
address_city VARCHAR(100)
address_postal VARCHAR(10)
address_full TEXT
# Opisy
description_short TEXT
description_full TEXT
# Metadane
category_id INTEGER # FK do categories
year_established INTEGER
employees_count INTEGER
capital_amount NUMERIC(15,2)
status VARCHAR(20) # 'active'
data_quality VARCHAR(20) # 'basic', 'enhanced', 'complete'
last_updated DATETIME
created_at DATETIME
Ważna Zmiana Schematu
NIP bez UNIQUE constraint - pozwala na przypisanie tego samego NIP do wielu wpisów.
Powód: Jedna firma prawna może mieć wiele marek/usług na liście NORDA:
- Nadmorski24.pl (portal)
- Radio Norda FM (radio)
- TTM (telewizja)
Wszystkie trzy mają NIP: 5882285147 (Twoja Telewizja Morska sp. z o.o.)
Skrypty Importu
Historia Importów
- Batch 1-3 - 56 firm (poprzednia sesja)
- Batch 4 (
import_norda_batch4.py) - 9 firm - Batch 5 (
import_norda_batch5.py) - 8 firm - Batch 6 (
fix_norda_database.py) - 4 brakujące firmy - Split (
split_ttm_companies.py) - podział TTM na 3 wpisy
Usunięcia
- Test companies - 10 firm testowych (NIP 567*)
- Autotest Polska - nie jest członkiem NORDA
Korekty Nazw (9 firm)
WATERM Artur Wiertel → Waterm
Ekofabryka Wejherowo → Ekofabryka
Kancelaria Rachunkowa Gawin & Wojnowska → Kancelaria Rachunkowa Gawin & Wojnowska Sp. z o. o.
Round Two → Round Two Sp. z o.o.
Hebel Masiak i Wspólnicy → Hebel Masiak i Wspólnicy Adwokaci i Radcowie Prawni
PHU U Witka → PHU Witka
Kupsa Coatings → Kupsa Coathing
Litwic & Litwic → Litwic&Litwic
Funkcje Pomocnicze
create_slug(name: str) -> str
Tworzy URL-friendly slug z polskiej nazwy firmy.
replacements = {
'ą': 'a', 'ć': 'c', 'ę': 'e', 'ł': 'l',
'ń': 'n', 'ó': 'o', 'ś': 's', 'ź': 'z', 'ż': 'z',
'&': 'i', ' ': '-', '/': '-'
}
parse_address(address: str) -> dict
Parsuje polski adres na komponenty (ulica, miasto, kod pocztowy).
Regex: (\d{2}-\d{3})\s+([A-ZĄĆĘŁŃÓŚŹŻ][a-z]+)
Aplikacja Flask
Uruchomienie
python3 app.py
# Dostęp: http://localhost:5001
Główne Funkcje
- Katalog firm - przeglądanie z kategoriami
- Wyszukiwanie - po nazwie, NIP, mieście
- Szczegóły firmy -
/company/<slug> - Czat AI - Google Gemini 2.0 Flash (FREE tier)
- Logowanie - Flask-Login, CSRF protection
Użytkownik Testowy
username: admin@nordabiz.local
password: admin123
Kategorie Firm
Domyślna kategoria: Inne (slug: inne)
Kategorie do rozszerzenia:
- Budownictwo
- IT i technologie
- Usługi prawne
- Produkcja
- Handel
- Transport
- itp.
Źródła Danych
Główne Źródło
https://norda-biznes.info/czlonkowie - oficjalna lista 80 członków
Źródła Dodatkowe (dla wzbogacania danych)
Metodologia
- Pobieranie listy firm z norda-biznes.info
- Wzbogacanie danych ze stron WWW firm
- Walidacja NIP/REGON/KRS
- Import do bazy z jakością danych: 'enhanced'
Pliki Konfiguracyjne
.env
DATABASE_URL=sqlite:///nordabiz_local.db
SECRET_KEY=<random_secret>
GEMINI_API_KEY=<api_key>
database.py
Definicje modeli SQLAlchemy
app.py
Główna aplikacja Flask
Następne Kroki (TODO)
Rozwój Funkcjonalności
- Dodać pełne kategorie firm zamiast "Inne"
- Zaimportować loga firm
- Dodać mapy Google dla lokalizacji
- Rozszerzyć profile firm (galerie, oferty)
- Panel administracyjny do zarządzania
Poprawa Danych
- Zweryfikować wszystkie adresy email
- Uzupełnić brakujące numery telefonów
- Dodać rok założenia dla wszystkich firm
- Poprawić opisy firm (copywriting)
Integracje
- Export do CSV/Excel
- API REST dla aplikacji zewnętrznych
- Synchronizacja z GUS/CEIDG
- Newsletter dla członków
SEO i Marketing
- Meta tagi dla każdej firmy
- Sitemap.xml
- Schema.org markup
- Google Analytics
Technologie
- Backend: Python 3.9+, Flask 3.0+, SQLAlchemy
- Database: SQLite (development), PostgreSQL (production ready)
- Frontend: HTML5, Bootstrap 5, JavaScript
- AI: Google Gemini 2.0 Flash (FREE tier)
- Auth: Flask-Login, werkzeug password hashing
- Forms: Flask-WTF (CSRF protection)
Uwagi Techniczne
Port Conflicts
Aplikacja działa na porcie 5001. W razie konfliktu:
lsof -ti:5001 | xargs kill -9
Background Processes
Sprawdzenie działających instancji:
ps aux | grep app.py
Database Backup
cp nordabiz_local.db nordabiz_local.db.backup_$(date +%Y%m%d_%H%M%S)
Schema Migration
W razie potrzeby migracji użyj Alembic (nie skonfigurowane obecnie).
Kontakt z NORDA BIZNES
Website: https://norda-biznes.info Lokalizacja: Wejherowo, województwo pomorskie Typ: Stowarzyszenie biznesowe
Ostatnia aktualizacja: 2025-11-24 Status: ✅ Baza danych kompletna (80/80 firm) Jakość danych: Enhanced (pełne dane firmowe, NIP/REGON/KRS zweryfikowane)