nordabiz/.claude/commands/add-company.md
Maciej Pienczyn 69bb6b839a docs: Fix incorrect SQLite references - DEV uses PostgreSQL via Docker
The documentation incorrectly stated that DEV environment uses SQLite
when it actually uses PostgreSQL via Docker on localhost:5433.

Updated files:
- CLAUDE.md - main project instructions
- PROJECT_INFO.md - environment documentation
- deployment_checklist.md - deployment procedures
- SCRIPTS_INDEX.md - script usage commands
- .claude/commands/*.md - all slash command definitions
- tests/test_admin_seo_dashboard.py - test database URL

DEV environment:
- PostgreSQL via Docker: localhost:5433
- Container: nordabiz-postgres
- Database: nordabiz
- User: nordabiz_app

PROD environment:
- PostgreSQL: 10.22.68.249:5432

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 03:40:50 +01:00

3.4 KiB

Add New Company to NordaBiz

Kreator dodawania nowej firmy członkowskiej do katalogu NordaBiz.

Argument: $ARGUMENTS

Jeśli podano argument (np. /add-company Pixlab), użyj go jako nazwy firmy do wyszukania.

Kroki do wykonania:

1. Zbierz informacje o firmie

Zapytaj użytkownika o dane lub wyszukaj na https://norda-biznes.info/czlonkowie:

Wymagane:

  • Nazwa prawna (legal_name)
  • Nazwa handlowa (business_name) - jeśli inna
  • NIP (10 cyfr bez myślników)
  • Email kontaktowy
  • Kategoria: IT, Construction, Services, Production, Trade, Other

Opcjonalne:

  • REGON (9 lub 14 cyfr)
  • KRS (10 cyfr, tylko spółki)
  • Telefon
  • Strona www
  • Adres (ulica, miasto, kod pocztowy)
  • Opis działalności

2. Weryfikacja NIP

Przed dodaniem zweryfikuj NIP przez API:

curl -s "http://localhost:5000/api/verify-nip?nip=NUMER_NIP"

Lub przez zewnętrzne API (jeśli lokalna aplikacja nie działa).

3. Generuj slug

Slug = kebab-case z nazwy firmy:

  • "Pixlab Sp. z o.o." → "pixlab-sp-z-o-o"
  • "ABC Usługi" → "abc-uslugi"
  • Usuń znaki specjalne, zamień spacje na myślniki, lowercase

4. Sprawdź duplikaty (DEV via Docker)

docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz -c "SELECT slug, legal_name FROM companies WHERE nip='NUMER_NIP' OR slug LIKE '%FRAGMENT%';"

5. Utwórz skrypt importu

Wygeneruj plik import_NEW_COMPANY.py używający SQLAlchemy:

#!/usr/bin/env python3
"""Import firmy [NAZWA] do bazy NordaBiz."""

import os
import sys
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

from datetime import datetime
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from database import Company, Category

DATABASE_URL = os.environ.get('DATABASE_URL', 'postgresql://nordabiz_app:dev_password@localhost:5433/nordabiz')

def import_company():
    engine = create_engine(DATABASE_URL)
    Session = sessionmaker(bind=engine)
    session = Session()

    # Znajdź kategorię
    category = session.query(Category).filter_by(name='Services').first()

    company = Company(
        slug='nazwa-firmy',
        name='Nazwa Handlowa',
        legal_name='Nazwa Prawna Sp. z o.o.',
        nip='1234567890',
        regon='123456789',
        krs=None,
        email='kontakt@firma.pl',
        phone='+48 123 456 789',
        website='https://firma.pl',
        address_street='ul. Przykładowa 1',
        address_city='Wejherowo',
        address_postal='84-200',
        category_id=category.id if category else None,
        description_short='Krótki opis firmy',
        description_full='Pełny opis działalności firmy...',
        data_quality='enhanced',
        status='active'
    )

    session.add(company)
    session.commit()
    print(f"Firma {company.legal_name} dodana pomyślnie! ID: {company.id}")
    session.close()

if __name__ == '__main__':
    import_company()

6. Wykonaj import

python import_NEW_COMPANY.py

7. Zweryfikuj dodanie (DEV via Docker)

docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz -c "SELECT slug, legal_name, nip FROM companies WHERE slug='NOWY_SLUG';"

Uwagi:

  • DEV: PostgreSQL via Docker na localhost:5433
  • PROD: PostgreSQL na 10.22.68.249:5432
  • Dla produkcji: po przetestowaniu lokalnie, wdróż przez /deploy
  • Nowe firmy powinny pochodzić z oficjalnej listy członków Norda Biznes
  • Zawsze weryfikuj NIP przed dodaniem