schon/README.md
Egor fureunoir Gorbunov cf268c8af3 Features: None;
Fixes: None;

Extra: 1) Update README.md with a new project description emphasizing simplicity and flexibility.
2025-09-22 15:18:43 +03:00

154 lines
No EOL
4 KiB
Markdown

# eVibes
![LOGO](core/docs/images/evibes-big.png)
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](#features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Configuration](#configuration)
- [Dockerfile](#Dockerfile)
- [nginx](#nginx)
- [.env](#env)
- [Usage](#usage)
- [Contact](#contact)
## 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
1. Clone the repository:
```bash
git clone https://gitlab.com/wiseless.xyz/eVibes.git
cd eVibes
```
2. Choose the storefront. By default, `main` branch has no storefront included.
Skip this step if you're OK with that and plan to only use API or develop your own storefront.
```bash
git checkout storefront-<options: nuxt, next, sk, qwik >
```
3. Generate your .env file. Check and confirm the contents afterward.
- Windows
```powershell
scripts\Windows\generate-environment-file.ps1
```
- Unix
```bash
scripts/Unix/generate-environment-file.sh
```
4. Install all the dependencies.
- Windows
```powershell
scripts\Windows\install.ps1
```
- Unix
```bash
scripts/Unix/install.sh
```
5. Spin it up.
- Windows
```powershell
scripts\Windows\run.ps1
```
- Unix
```bash
scripts/Unix/run.sh
```
6. Bring to production.
Include `nginx` file to your nginx configuration, you really want to install and
run [Certbot](https://certbot.eff.org/) 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:
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*):
```hosts
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
```powershell
scripts\Windows\uninstall.ps1
```
- Unix
```bash
scripts/Unix/uninstall.sh
```
## Contact
- **Author**: Egor "fureunoir" Gorbunov
- Email: contact@fureunoir.com
- Telegram: [@fureunoir](https://t.me/fureunoir)
![FAVICON](core/docs/images/evibes.png)