Fixes: 1) Simplify rating and feedback count logic by removing caching layers; 2) Refactor price and quantity calculations for improved accuracy and simplicity; 3) Optimize total price and quantity aggregations in orders by leveraging Django ORM tools. Extra: Adjusted import statements, removed redundant cache logic, and cleaned up methods for better readability and maintainability. |
||
|---|---|---|
| .idea | ||
| blog | ||
| core | ||
| Dockerfiles | ||
| evibes | ||
| monitoring | ||
| payments | ||
| scripts | ||
| storefront | ||
| vibes_auth | ||
| .dockerignore | ||
| .gitignore | ||
| CODEOWNERS | ||
| docker-compose.yml | ||
| LICENSE | ||
| manage.py | ||
| nginx.conf | ||
| poetry.lock | ||
| pyproject.toml | ||
| README.md | ||
eVibes
eVibes — your store without the extra baggage. Everything works out of the box: storefront, product catalog, cart, and orders. Minimal complexity, maximum flexibility — install, adjust to your needs, and start selling.
Table of Contents
Features
- Modular Architecture: Extend and customize the backend to fit your needs.
- Dockerized Deployment: Quick setup and deployment using Docker and Docker Compose.
- Asynchronous Task Processing: Integrated Celery workers and beat scheduler for background tasks.
- GraphQL and REST APIs: Supports both GraphQL and RESTful API endpoints.
- Internationalization: Multilingual support using modeltranslate.
- Advanced Caching: Utilizes Redis for caching and task queuing.
- Security: Implements JWT authentication and rate limiting.
Getting Started
Prerequisites
- Docker and Docker Compose are installed on your machine.
Installation
-
Clone the repository:
git clone https://gitlab.com/wiseless.xyz/eVibes.git cd eVibes -
Choose the storefront. By default,
mainbranch has no storefront included. Skip this step if you're OK with that and plan to only use API or develop your own storefront.git checkout storefront-<options: nuxt, next, sk, qwik > -
Generate your .env file. Check and confirm the contents afterward.
- Windows
scripts\Windows\generate-environment-file.ps1 - Unix
scripts/Unix/generate-environment-file.sh
- Windows
-
Install all the dependencies.
- Windows
scripts\Windows\install.ps1 - Unix
scripts/Unix/install.sh
- Windows
-
Spin it up.
- Windows
scripts\Windows\run.ps1 - Unix
scripts/Unix/run.sh
- Windows
-
Bring to production.
Include
nginxfile to your nginx configuration, you really want to install and run Certbot afterward!
Configuration
Dockerfile
Remember to change the
RUN sed -i 's|https://deb.debian.org/debian|https://ftp.<locale>.debian.org/debian|g' /etc/apt/sources.list.d/debian.sources
before running installment scripts
nginx
Please comment-out SSL-related lines, then apply necessary configurations, run certbot --cert-only --nginx,
decomment previously commented lines, and enjoy eVibes over HTTPS!
.env
After .env file generation, you may want to edit some of its values, such as macroservices` API keys, database password, redis password, etc.
Usage
- Add the necessary subdomains to DNS-settings of your domain, those are:
- @.your-domain.com
- www.your-domain.com
- api.your-domain.com
- b2b.your-domain.com
- prometheus.your-domain.com
- Add these lines to your hosts-file to use django-hosts functionality on localhost(DEVELOPMENT ONLY):
127.0.0.1 api.localhost
127.0.0.1 b2b.localhost
Once the services are up and running, you can access the application at
http://api.your-domain.com(http://api.localhost:8000).
- Django Admin:
http://api.your-domain.com/(will redirect to admin) - API Docs:
- REST API:
http://api.localhost:8000/docs/swaggerorhttp://api.localhost:8000/docs/redoc - GraphQL API:
http://api.localhost:8000/graphql/
- REST API:
Uninstall eVibes
You are not planning to do that, aren't you?
- Windows
scripts\Windows\uninstall.ps1 - Unix
scripts/Unix/uninstall.sh
Contact
- Author: Egor "fureunoir" Gorbunov
- Email: contact@fureunoir.com
- Telegram: @fureunoir

