Schon — your store without the extra baggage. https://schon.io
Find a file
Egor fureunoir Gorbunov b105561c10 Features: 1) Simplify Docker configuration by renaming Dockerfile.app to Dockerfile; 2) Add commented setup for storefront and nginx services in docker-compose.yml;
Fixes: 1) Correct `.dockerignore` entry for the relocated `storefront/Dockerfile`;

Extra: 1) Refactor file structure by renaming `Dockerfile.storefront` to `storefront/Dockerfile`.
2025-06-17 12:39:03 +03:00
blog Features: I18N 2025-06-16 11:07:34 +03:00
core Fixes: 1) Add missing filter condition for is_active in descendant product query; 2025-06-17 12:20:06 +03:00
evibes Features: None; 2025-06-17 11:34:02 +03:00
monitoring Fixes: 1) Remove unused metrics_path and scheme configurations from 'worker' job in Prometheus config; 2025-06-16 17:38:29 +03:00
payments Features: None; 2025-06-17 11:34:02 +03:00
scripts Features: 1) Add a management command to fix product stock prices; 2) Introduce 'products' field to CategoryType in GraphQL schema to fetch products associated with a category; 3) Enable GraphQL resolvers to utilize type hinting for better clarity. 2025-06-17 11:13:11 +03:00
storefront Features: 1) Simplify Docker configuration by renaming Dockerfile.app to Dockerfile; 2) Add commented setup for storefront and nginx services in docker-compose.yml; 2025-06-17 12:39:03 +03:00
vibes_auth Features: None; 2025-06-17 11:34:02 +03:00
.dockerignore Features: 1) Simplify Docker configuration by renaming Dockerfile.app to Dockerfile; 2) Add commented setup for storefront and nginx services in docker-compose.yml; 2025-06-17 12:39:03 +03:00
.gitignore Features: 1) Expand .gitignore to include comprehensive rules for Python, Node, Docker, IDEs, test artifacts, and distribution files; 2025-05-26 15:54:43 +03:00
CODEOWNERS Features: 1) Add code ownership for .mjs, .cjs, and .astro files to SaVBaD. 2025-06-01 18:32:07 +03:00
docker-compose.yml Features: 1) Simplify Docker configuration by renaming Dockerfile.app to Dockerfile; 2) Add commented setup for storefront and nginx services in docker-compose.yml; 2025-06-17 12:39:03 +03:00
Dockerfile Features: 1) Simplify Docker configuration by renaming Dockerfile.app to Dockerfile; 2) Add commented setup for storefront and nginx services in docker-compose.yml; 2025-06-17 12:39:03 +03:00
LICENSE Initial Commit 2025-04-29 22:40:30 +03:00
manage.py Initial Commit 2025-04-29 22:40:30 +03:00
nginx Features: Prometheus password protection 2025-06-05 15:34:59 +03:00
poetry.lock Features: 1) Add optional celery-stubs and django-stubs dependencies to pyproject.toml; 2) Update worker extras to include celery-stubs; 3) Improve URL formatting in digital asset logic. 2025-06-16 09:52:35 +03:00
pyproject.toml Features: 1) Add optional celery-stubs and django-stubs dependencies to pyproject.toml; 2) Update worker extras to include celery-stubs; 3) Improve URL formatting in digital asset logic. 2025-06-16 09:52:35 +03:00
README.md Features: 1) Add uninstall instructions for Windows and Unix in the README; 2) Expand configuration section with Dockerfile, nginx, and .env details; 2025-06-16 16:50:49 +03:00
ruff.toml Features: 2025-05-26 17:36:12 +03:00

eVibes

LOGO

eVibes is an eCommerce backend service built with Django. Its designed for flexibility, making it ideal for various use cases and learning Django skills. The project is easy to customize, allowing for straightforward editing and extension.

Table of Contents

Features

  • Modular Architecture: Easily 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 installed on your machine - that's it!

Installation

  1. Clone the repository:

    git clone https://gitlab.com/wiseless.xyz/eVibes.git
    cd eVibes
    
  2. Choose the storefront. By default, main branch has Astro one. Skip this step if you're OK with Astro.

    git checkout storefront-<option: astro, nuxt, remix, svelte, solid, analog >
    
  3. Generate your .env file. Check and confirm the contents afterwards.

    • Windows
      scripts\Windows\generate-environment-file.ps1
      
    • Unix
      scripts/Unix/generate-environment-file.sh
      
  4. Install all the dependencies.

    • Windows
      scripts\Windows\install.ps1
      
    • Unix
      scripts/Unix/install.sh
      
  5. Spin it up.

    • Windows
      scripts\Windows\run.ps1
      
    • Unix
      scripts/Unix/run.sh
      
  6. Bring to production.

    Include nginx file to your nginx configuration, you really want to install and run Certbot afterwards!

Configuration

Dockerfile

Don't forget 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 needed 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 it's values such as macroservices' API keys, database password, redis password, etc.

Usage

  • Add needed subdomains to DNS-settings of your domain, those are:
  1. @.your-domain.com
  2. www.your-domain.com
  3. api.your-domain.com
  4. b2b.your-domain.com
  5. 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/swagger or http://api.localhost:8000/docs/redoc
    • GraphQL API: http://api.localhost:8000/graphql/

Uninstall eVibes

You are not planning to do that, aren't you?

  • Windows
    scripts\Windows\uninstall.ps1
    
  • Unix
    scripts/Unix/uninstall.sh
    

Contact

FAVICON