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>
3.4 KiB
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