https://github.com/alejandrosoares/dm
Web catalog with optimization techniques on both the front end side and back side.
https://github.com/alejandrosoares/dm
chatgpt django django-rest-framework github-actions javascript oauth2 optimization python rest-api
Last synced: 2 months ago
JSON representation
Web catalog with optimization techniques on both the front end side and back side.
- Host: GitHub
- URL: https://github.com/alejandrosoares/dm
- Owner: alejandrosoares
- Created: 2022-01-04T12:31:03.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-21T17:12:40.000Z (about 2 years ago)
- Last Synced: 2025-06-16T23:36:45.535Z (about 1 year ago)
- Topics: chatgpt, django, django-rest-framework, github-actions, javascript, oauth2, optimization, python, rest-api
- Language: HTML
- Homepage:
- Size: 17.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DM - Product Catalog
Introducing our cutting-edge Product Catalog, a seamless blend of technology and customer-centric innovation. Elevate your business with features that go beyond the ordinary
## Features
### Product Recommendation Microservice
* Uses an own microservice [dm-recommendations](https://github.com/alejandrosoares/dm-recommendations) to obtain recommended products and improve the user experience
### Optimization
* Converts images to WEBP
* Resizes images according to screen size
* Applies some frontend techniques to improve performance
* Applies cache with redis
* Has a product search and pagination
### Chat
* Has implements real-time chat with Django channels
* Has ChatGPT implemented to answer some frequently asked questions
### Opening hours
* Has an endpoint to show the user if the business is opening now or closed, with the custom messages:
- Open now
- Closed now
- Open, closing soon
- Closed, opening soon
## CI
* Uses GitActions to run linters and tests automatically
## Installation
1. Set the next environment variables inside of .env file in ***src/*** dir:
```
DJANGO_SECRET_KEY
OPENAI_API_KEY
REDIS_USER
REDIS_PASSWORD
```
Set the next variables to use DM Recommendation Microservice:
```
DMREC_HOST
DMREC_CLIENT_ID
DMREC_CLIENT_SECRET
DMREC_USERNAME
DMREC_PASSWORD
```
2. Inside your virtual environment:
```
pip install requirements/dev.txt
```
3. Go to ***src/*** dir and run:
```
python manage.py runserver
```
## Microservices
### Product recommendation
If you want to get better product recommendation in the details section:
1. Run the following microservice:
* [dm-recommendations](https://github.com/alejandrosoares/dm-recommendations)
2. Enable this microservice in the dm/settings/base.py file
## Screenshots


