Skip to content

Repository files navigation

Nomad Gunstore Backend

🛡️ 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.

Nomad Tactical Logo


🚀 Features

  • 🔐 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

📦 Tech Stack

  • Python 3.12
  • Django 4.x
  • Django REST Framework
  • Celery + Redis
  • PostgreSQL
  • Docker & Docker Compose
  • Nginx
  • Cloudinary for media delivery

⚙️ Installation

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 --build

🧠 Environment Variables (.env)

Click 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

About

Backend project for the "Palmetto State Armory" weapons store website, developed as part of a thesis at Nomad College.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages