🛡️ Backend for the fictional Nomad Tactical online weapon store, inspired by real-world retailers like Palmetto State Armory.
Built as part of a thesis project at Nomad College.
- 🔐 Secure user registration with email verification
- 📨 Beautiful HTML emails with Celery + Gmail SMTP
- 🧠 Token-based authentication (JWT-ready)
- 📦 PostgreSQL + Redis + Dockerized architecture
- 📁 Static/media file handling via Nginx
- 🧪 DRF-based API with auto-generated Swagger docs
- 🛠️ Admin panel + CKEditor integration
- Python 3.12
- Django 4.x
- Django REST Framework
- Celery + Redis
- PostgreSQL
- Docker & Docker Compose
- Nginx
- Cloudinary for media delivery
git clone https://github.com/yourname/nomad-gunstore-backend.git
cd nomad-gunstore-backend
Create a `.env` file in the root of your project and paste the variables from the section below ("Environment Variables") into it.
Then replace the values with your own (email, password, Cloudinary, etc.).
docker-compose up --buildClick to expand
# Email (Gmail SMTP)
EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USE_TLS=True
EMAIL_HOST_USER=youremail@gmail.com
EMAIL_HOST_PASSWORD=your_app_password
# Database
POSTGRES_DB=your_db
POSTGRES_USER=your_user
POSTGRES_PASSWORD=your_password
POSTGRES_HOST=db
POSTGRES_PORT=5432
# Redis (Celery broker)
CELERY_BROKER_URL=redis://redis:6379/0
# Cloudinary
CLOUDINARY_NAME=your_cloud_name
CLOUDINARY_KEY=your_api_key
CLOUDINARY_SECRET=your_secret
LOGO_URL=https://res.cloudinary.com/your_cloud/image/upload/vXXX/logo.png