https://github.com/antonglyzin/back_fastshop
https://github.com/antonglyzin/back_fastshop
alembic django docker email fastapi fastapi-sqlalchemy firebase-storage graphql jwt jwt-token nginx nginx-docker postgresql pydantic python sqlalchemy
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/antonglyzin/back_fastshop
- Owner: AntonGlyzin
- Created: 2022-09-29T08:11:19.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-02-06T14:49:09.000Z (over 3 years ago)
- Last Synced: 2025-06-18T12:16:11.213Z (12 months ago)
- Topics: alembic, django, docker, email, fastapi, fastapi-sqlalchemy, firebase-storage, graphql, jwt, jwt-token, nginx, nginx-docker, postgresql, pydantic, python, sqlalchemy
- Language: Python
- Homepage:
- Size: 247 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Security: security.py
Awesome Lists containing this project
README
# Интернет-магазин на fastapi с админ панелью django
## Общий функционал.

- Вывод списка товаров.
- Получение товара по ИД.
- Вывод списка товаров в корзине.
- Добавления, уменьшения и удаления товаров из корзины.
- Регистрация покупателя в системе.
- Авторизация покупателя.
- Сброс пароля через email.
- Смена пароля через email.
- Получения информации о своем профиле.
- Установка фото на свой профиль.
- Изменение профиля покупателя.
- Добавления и изменения пунктов доставки.
- Получения своих заказов по статусу.
- Оформление заказа при полной корзине.
- Уведомление на email при разных действиях с заказом.
## Админка
|Функционал|Демонстрация|
|-|-|
|Просмотр общей информации о покупателе, его заказов, пунктов доставки и корзины покупателя.||
|Добавление товара, редактирование, поиск и удаления.||
|Просмотр всех заказов, поиск заказа, фильтрация, подтверждения о плате заказа.||
## Настройка БД
Для миграции БД нужно проделать следующее:
```bash
# сформировать схему базы
alembic revision --autogenerate
# миграция схемы
alembic upgrade <Номер>
# миграция от django
python manage.py migrate
```
## Пример .env файла
```.env
SECRET_KEY = 'секретный ключ'
BUCKET_STORAGE_NAME = 'букет firebase'
MAIL_PASSWORD = "пароль от почты"
MAIL_FROM = "email для уведомлений от лица магазина"
MAIL_ADMIN = "email для уведомлений админу"
POSTGRES_USER = "postgres"
POSTGRES_PASSWORD = "postgres"
PGADMIN_DEFAULT_EMAIL = 'admin@admin.ru'
PGADMIN_DEFAULT_PASSWORD = 'admin'
DATABASE_URL = 'postgresql://postgres:postgres@db:5432/fastshop'
```