https://github.com/rvburov/online-store
Интернет-магазин с адаптивным дизайном, функционалом корзины, личного кабинета пользователя и управлением заказами.
https://github.com/rvburov/online-store
css django html javascript postgresql python
Last synced: 2 months ago
JSON representation
Интернет-магазин с адаптивным дизайном, функционалом корзины, личного кабинета пользователя и управлением заказами.
- Host: GitHub
- URL: https://github.com/rvburov/online-store
- Owner: rvburov
- License: mit
- Created: 2024-07-05T18:39:33.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-10T16:08:38.000Z (3 months ago)
- Last Synced: 2025-02-10T17:24:10.908Z (3 months ago)
- Topics: css, django, html, javascript, postgresql, python
- Language: CSS
- Homepage: https://mr-tomato.ru
- Size: 54.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Установка и настройка приложения OnlineStore
## 📂 Структура приложения
```bash
mr-tomato/ # Корневая директория проекта├── backend/ # Основная директория с исходным кодом бэкенда
│ ├── cart # Модуль корзины покупок
│ ├── catalog # Модуль каталога товаров
│ ├── orders # Модуль обработки заказов
│ ├── config # Конфигурационные файлы для проекта
│ ├── core # Основные функции и утилиты проекта
│ ├── data # Статические или исходные данные для приложения
│ ├── homepages # Модуль главной страницы и других статических страниц
│ ├── media # Загружаемые медиафайлы
│ ├── static # Статические файлы (CSS, JS, изображения)
│ ├── staticfiles # Собранные статические файлы после команды collectstatic
│ ├── users # Модуль управления пользователями и аутентификацией
│ └── manage.py # Скрипт для управления проектом (Django)
├── venv/ # Виртуальное окружение Python (не добавляйте в Git)
├── .gitignore # Файл, исключающий определённые файлы и папки из Git
├── requirements.txt # Список зависимостей проекта для установки через pip
├── README.md # Основная документация проекта (описание, инструкции)
└── .env # Файл с переменными окружения (ключи и настройки)
```---
### 🔑 Настройка переменных окружения (.env)
Для конфигурации проекта создайте файл `.env` в корневой директории проекта. Этот файл должен содержать конфиденциальные данные, такие как ключи API, настройки базы данных и другие параметры.
#### Пример файла `.env`:
```bash
# Секретный ключ Django
SECRET_KEY=...# Режим отладки (True для разработки, False для продакшена)
DEBUG=...# Список разрешённых хостов
ALLOWED_HOSTS=...# CSRF доверенные источники
CSRF_TRUSTED_ORIGINS=...
```#### Как подключить `.env` в проект:
1. Убедитесь, что файл `.env` добавлен в `.gitignore`, чтобы он не попал в публичный репозиторий.
2. Для использования переменных из файла `.env`, проект уже настроен на использование библиотеки **`python-decouple`** (или аналогичной).
```bash
pip install python-decouple
```
3. Убедитесь, что файл `.env` находится в корневой папке проекта.#### 💡 Рекомендации:
- Никогда не храните конфиденциальные данные (такие как `SECRET_KEY`, пароли или ключи API) в репозитории.
- Для продакшена рекомендуется использовать безопасное хранилище секретов, например AWS Secrets Manager или HashiCorp Vault.---
### 1. Настройте виртуальное окружение и зависимости
**Linux/MacOS:**
```bash
python3 -m venv venv # Создаем виртуальное окружение в папке `venv`
source venv/bin/activate # Активируем виртуальное окружение (Linux/MacOS)
``````bash
python -m venv venv # Создаем виртуальное окружение в папке `venv`
venv\Scripts\activate # Активируем виртуальное окружение (Windows)
``````bash
pip install --upgrade pip # Обновляем `pip` до последней версии (универсально для всех систем)
pip install -r requirements.txt # Устанавливаем зависимости из `requirements.txt`
```---
### 2. Запуск серверана локальной машине
**Применение миграций**
```bash
python manage.py makemigrations
python manage.py migrate
```
**Соберите статические файлы**
```bash
python manage.py collectstatic
```
**Создание суперпользователя**
```bash
python manage.py createsuperuser
```
**Загрузите базу данных CSV-файла**
```bash
python3 manage.py import_products data/Products.csv
```
**Запустите сервер**
```bash
python manage.py runserver
```