🚀 Tworzenie Modułu - Krok po Kroku¶
Ten przewodnik pomoże Ci utworzyć nowy moduł od zera zgodnie z wytycznymi Panel Księgowy.
📋 Checklist¶
Przed rozpoczęciem:
- [ ] Przeczytałeś Struktura Modułu
- [ ] Sprawdziłeś built-features-registry.mdc czy moduł nie istnieje
- [ ] Masz plan funkcjonalności modułu
🚀 Krok 1: Utworzenie struktury¶
1.1 Utwórz katalogi¶
mkdir -p apps/my_module/{models,views,templates/my_module}
touch apps/my_module/{__init__.py,urls.py,admin.py,forms.py,services.py}
touch apps/my_module/models/__init__.py
touch apps/my_module/views/__init__.py
1.2 Dodaj do INSTALLED_APPS¶
🚀 Krok 2: Modele¶
2.1 Utwórz model¶
# apps/my_module/models/main.py
from apps.teams.models import BaseTeamModel
class MyModel(BaseTeamModel):
name = models.CharField(max_length=200)
class Meta:
verbose_name = "My Model"
verbose_name_plural = "My Models"
2.2 Zarejestruj w admin¶
# apps/my_module/admin.py
from django.contrib import admin
from .models import MyModel
@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
list_display = ['name', 'team', 'created_at']
🚀 Krok 3: Views¶
3.1 Dashboard¶
# apps/my_module/views/dashboard.py
from apps.teams.decorators import login_and_team_required
@login_and_team_required
def dashboard(request, team_slug):
team = request.team
stats = {
'total': MyModel.objects.filter(team=team).count(),
}
return render(request, 'my_module/dashboard.html', {
'team': team,
'stats': stats,
})
3.2 Settings¶
# apps/my_module/views/settings.py
from apps.teams.decorators import login_and_team_required, team_admin_required
@login_and_team_required
@team_admin_required
def settings(request, team_slug):
# ...
🚀 Krok 4: URLs¶
# apps/my_module/urls.py
from django.urls import path
from . import views
app_name = 'my_module'
team_urlpatterns = [
path('', views.dashboard, name='dashboard'),
path('settings/', views.settings, name='settings'),
]
🚀 Krok 5: Templates¶
5.1 Dashboard Template¶
{% extends "web/app/app_base_tailadmin.html" %}
{% load i18n %}
{% block app %}
<div class="mx-auto max-w-screen-2xl p-4 md:p-6 2xl:p-10">
<h1>{% translate "My Module Dashboard" %}</h1>
</div>
{% endblock %}
🚀 Krok 6: Migracje¶
🚀 Krok 7: Dokumentacja¶
Utwórz README.md:
# My Module
## Overview
Brief description of the module.
## Features
- Feature 1
- Feature 2
## Usage
...
🚀 Krok 8: Aktualizacja rejestru¶
Zaktualizuj built-features-registry.mdc:
### X. My Module
**Status:** ✅ Complete
**Dashboard:** `/a/<team_slug>/my_module/`
**Settings:** `/a/<team_slug>/my_module/settings/`
📚 Więcej informacji¶
- Struktura Modułu - Szczegółowa struktura
- CRM - Przykład modułu CRM
Ostatnia aktualizacja: 2025-11-29
Wersja dokumentacji: 1.0