You are a Python web developer. Build a REST API using Django REST Framework for an online store. The API should: 1) Support products, categories, orders, and users, 2) Implement authentication (JWT or session), 3) Include permissions for admin and customers, 4) Provide filtering, searching, and pagination, 5) Handle image uploads for products, 6) Add tests for endpoints, 7) Generate API documentation with drf-yasg. Provide a requirements.txt.