Кому нужен этот промт и как он работает?
Этот промт предназначен для разработчиков, которые создают веб-приложения с разделением по ролям пользователей и нуждаются в генерации backend-сервисов с ботом нейросети. Особенно он полезен тем, кто работает с Django и хочет быстро получить готовый код для управления студентами в LMS (Learning Management System), учитывающий аутентификацию через JWT и права доступа.
Промт помогает решить задачи построения надёжной архитектуры сервиса с CRUD операциями, где каждый пользователь видит и управляет только своей частью функционала. Он облегчает процесс разработки, ускоряет написание кода, уменьшает ошибки и позволяет сосредоточиться на бизнес-логике, а не рутинных деталях.
Промт описывает, какие технологии и фреймворки использовать (React+TypeScript для фронтенда, Django для бэкенда), а также какую структуру ролей и функций надо реализовать. На основе этого нейросеть генерирует конкретные компоненты, сервисы или страницы с учётом аутентификации и прав пользователей.
Готовый промт
1 |
Представь, что ты full-stack разработчик. Твоя задача – проектировать, разрабатывать и поддерживать фронтенд и бэкенд веб-приложений с использованием HTML, CSS, JavaScript и TypeScript. Фронтенд реализовать на React с TypeScript, бэкенд – на Django. Ты умеешь работать с базами данных через SQL или ORM, проектировать схемы, реализовывать архитектуру, обеспечивать безопасность и производительность, писать автоматические тесты и устранять ошибки. Учитывай, что наше приложение — LMS с 4 ролями: админ, директор школы, учитель и студент. Для каждой роли нужен отдельный дашборд с соответствующим функционалом. Админ управляет школой, уроками, учителями и студентами; директор может добавлять уроки, учителей и студентов; учитель добавляет уроки и назначает студентов; студент просматривает и выбирает уроки. При запросе составляй код компонентов, сервисов или страниц. Первый запрос — напиши сервис для управления студентами для бэкенда на Django с аутентификацией через JWT, поддерживающий CRUD операции и учитывающий права ролей. |
Как использовать промт и на что обратить внимание
Для максимальной эффективности используйте промт как шаблон, который можно дополнять новыми требованиями и ролями. Формулируйте конкретный запрос с уточнениями по бизнес-логике для разных ролей.
- Проверяйте, чтобы в запросе были чётко расписаны права доступа и функционал для каждой роли.
- Используйте промт для генерации отдельных компонентов или сервисов, по частям, чтобы контролировать качество и логику кода.
- Помните, что аутентификация через JWT требует поддержки безопасности — храните секретные ключи и контролируйте токены.
- Тестируйте сгенерированный код и исправляйте возможные ошибки вручную, особенно при сложных бизнес-сценариях.
Ограничения: результат генерации зависит от корректности и полноты входящих данных. Если описания ролей или требований недостаточно, код может быть неполным или не вполне безопасным.
Примеры использования
Пример 1. Генерация сервиса управления студентами с различными правами доступа. Сервис должен позволять администратору добавлять и удалять студентов, а студентам только просматривать свои данные.
1 |
Напиши сервис для управления студентами на Django с JWT аутентификацией, который поддерживает CRUD операции. Учти, что админ может создавать и удалять студентов, а студенты могут только просматривать свои данные. |
Пример 2. Создание сервиса для обновления профиля студента с учётом роли. Студент может менять только свои личные данные, а директор школы — управлять информацией всех студентов.
1 |
Составь Django сервис с JWT аутентификацией для обновления профиля студента. Студент имеет доступ к редактированию только собственной информации, директор – ко всем студентам. |
Пример вывода нейросети
Ниже приведён примерный фрагмент кода сервиса управления студентами на Django с JWT аутентификацией. Код включает модели, сериализаторы и вьюхи с учётом ролей.
✅ Пример:
from django.contrib.auth.models import User
from rest_framework import serializers, viewsets, permissions
from rest_framework_simplejwt.authentication import JWTAuthenticationclass StudentSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = [‘id’, ‘username’, ’email’]class IsAdminOrReadOnly(permissions.BasePermission):
def has_permission(self, request, view):
if request.method in permissions.SAFE_METHODS:
return True
return request.user.is_staffclass StudentViewSet(viewsets.ModelViewSet):
queryset = User.objects.filter(groups__name=’Students’)
serializer_class = StudentSerializer
authentication_classes = [JWTAuthentication]
permission_classes = [IsAdminOrReadOnly]
Примечание: результат приблизительный и может отличаться.
Итоги: зачем использовать этот промт?
Использование этого промта экономит время и усилия при создании сложного backend-сервиса с различными ролями и правами в LMS. Это особенно удобно, если вы хотите быстро получить высококачественный каркас кода с поддержкой аутентификации JWT и управлением студентами по ролям. Такой подход ускоряет разработку, снижает риск ошибок и помогает сфокусироваться на других задачах проекта.
Основное преимущество: быстрое и надёжное создание backend-сервисов с учётом ролей и безопасности в Django