Files
proyecto-final/AGENTS.md
T

1.9 KiB

AGENTS.md - Django Tienda Project

Commands

# Run tests (runs tienda/tests.py by default)
make test

# Or manually
python manage.py test

# Run dev server
python manage.py runserver

# Run migrations
python manage.py migrate

# Static files (production)
python manage.py collectstatic

Prerequisites

  • Redis: Must be running on redis://127.0.0.1:6379/1 for sessions and caching
    • Start: sudo systemctl start redis-server (Linux) or brew services start redis (macOS)
    • Verify: redis-cli ping → PONG
  • PostgreSQL: Default database; set POSTGRES_ENABLED=False to use SQLite
  • Environment: Copy .env.example to .env and configure required vars

Important Quirks

  1. Migrations: If makemigrations fails with error code 130, check tienda/migrations/ - the file is often created despite the error
  2. Test DB: Uses SQLite regardless of POSTGRES_ENABLED (hardcoded in settings.py)
  3. App URL: Not at / - access at http://localhost:8000/tienda/
  4. Admin: At /admin/ (not /tienda/admin/)
  5. Custom User Model: AUTH_USER_MODEL = 'tienda.User' - use for all user-related queries

Architecture

  • proyecto/ - Django settings, URLs, WSGI/ASGI
  • tienda/ - Main app (models, views, admin, templates)
  • tienda/static/ - CSS, JS, images, fonts
  • Templates extend tienda/templates/tienda/base.html

Shipping Restrictions

Only sells to Almería province, Spain (postal codes 04xxx). All addresses saved with country "España".

External Services

  • Payment: Stripe + PayPal (configured via .env)
  • Storage: S3 support - set S3_ENABLE=True to enable
  • Email: SMTP required (see .env.example)
  • Async: Celery uses Redis broker

Useful References

  • Full developer docs: .github/copilot-instructions.md
  • Redis setup: docs/REDIS_SETUP.md
  • PayPal: docs/PAYPAL_SETUP.md, docs/PAYPAL_TROUBLESHOOTING.md
  • View documentation: docs/views/