Features: 1) Add detailed introductory spacing for "by WISELESS TEAM" across all scripts; 2) Update README installation instructions with step-by-step guides for environment setup and configuration;

Fixes: None;

Extra: Improve overall readability and formatting of README;
This commit is contained in:
Egor Pavlovich Gorbunov 2025-06-16 16:44:20 +03:00
parent 7d1bcaa8d4
commit 33245134c9
13 changed files with 72 additions and 77 deletions

125
README.md
View file

@ -30,8 +30,7 @@ cases and learning Django skills. The project is easy to customize, allowing for
### Prerequisites
- Docker and Docker Compose installed on your machine.
- Python 3.12 if running locally without Docker.
- Docker and Docker Compose installed on your machine - that's it!
### Installation
@ -42,15 +41,49 @@ cases and learning Django skills. The project is easy to customize, allowing for
cd eVibes
```
2. Copy the example environment file and configure it.
3. Build and start the services:
2. Choose the storefront. By default, `main` branch has Astro one. Skip this step if you're OK with Astro.
```bash
docker-compose up -d --build
git checkout storefront-<option: astro, nuxt, remix, svelte, solid, analog >
```
This command will build the Docker images and start all the services defined in the `docker-compose.yml` file.
3. Generate your .env file. Check and confirm the contents afterwards.
- 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/) afterwards!
## Configuration
@ -58,78 +91,40 @@ cases and learning Django skills. The project is easy to customize, allowing for
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
### Environment Variables
### nginx
The project uses environment variables for configuration. Below is an example of the `.env` file:
Please comment-out SSL-related lines, then apply needed configurations, run `certbot --cert-only --nginx`,
decomment previously commented lines and enjoy eVibes over HTTPS!
```plaintext
EVIBES_PROJECT_NAME="eVibes"
EVIBES_FRONTEND_DOMAIN="evibes.com"
EVIBES_BASE_DOMAIN="evibes.com"
SENTRY_DSN=""
DEBUG=1
### .env
SECRET_KEY="SUPERSECRETKEY"
JWT_SIGNING_KEY="SUPERSECRETJWTSIGNINGKEY"
ALLOWED_HOSTS="evibes.com api.evibes.com b2b.evibes.com"
CSRF_TRUSTED_ORIGINS="https://evibes.com https://api.evibes.com https://www.evibes.com https://b2b.evibes.com"
CORS_ALLOWED_ORIGINS="https://evibes.com https://api.evibes.com https://www.evibes.com https://b2b.evibes.com"
POSTGRES_DB="evibes"
POSTGRES_USER="evibes_user"
POSTGRES_PASSWORD="SUPERSECRETPOSTGRESPASSWORD"
DBBACKUP_SFTP_HOST="Your SFTP backup host"
DBBACKUP_SFTP_USER="The username to use to log in to that host"
DBBACKUP_SFTP_PASS="The password to use to log in to that host"
ELASTIC_PASSWORD="SUPERSECRETELASTICPASSWORD"
REDIS_PASSWORD="SUPERSECRETREDISPASSWORD"
CELERY_BROKER_URL="redis://:SUPERSECRETREDISPASSWORD@redis:6379/0"
CELERY_RESULT_BACKEND="redis://:SUPERSECRETREDISPASSWORD@redis:6379/0"
PROMETHEUS_USER="evibes"
PROMETHEUS_PASSWORD="SUPERSECRETFLOWERPASSWORD"
EMAIL_BACKEND="django.core.mail.backends.smtp.EmailBackend"
EMAIL_HOST="smtp.whatever.evibes.com"
EMAIL_PORT="465"
EMAIL_USE_TLS=0
EMAIL_USE_SSL=1
EMAIL_HOST_USER="your-email-user@whatever.evibes.com"
EMAIL_HOST_PASSWORD="SUPERSECRETEMAILHOSTPASSWORD"
EMAIL_FROM="your-email-user@whatever.evibes.com"
COMPANY_NAME="eVibes, Inc."
COMPANY_PHONE_NUMBER="+888888888888"
COMPANY_ADDRESS="The place that does not exist"
OPENAI_API_KEY="Haha, really?"
ABSTRACT_API_KEY="Haha, really? x2"
DEEPL_AUTH_KEY="Haha, really? x3"
```
**Note**: Replace all placeholder values (e.g., `your-secret-key`, `your-database-name`) with your actual configuration.
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 these lines to your hosts-file to use django-hosts functionality on localhost:
- 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*):
```hosts
127.0.0.1 api.localhost
127.0.0.1 b2b.localhost
```
Otherwise, add needed subdomains to DNS-settings of your domain.
Once the services are up and running, you can access the application at
`http://api.your-domain.com`(http://api.localhost:8000).
Once the services are up and running, you can access the application at `http://api.localhost:8000`.
- **Django Admin**: `http://api.localhost:8000/admin/`
- **API Endpoints**:
- **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/`

View file

@ -23,7 +23,7 @@ while IFS= read -r line; do
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
done < "$ART_PATH"
printf "\n%bby WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
ENV_FILE=".env"
if [ ! -f "$ENV_FILE" ]; then

View file

@ -23,7 +23,7 @@ while IFS= read -r line; do
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
done < "$ART_PATH"
printf "\n%bby WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
# prompt for a value with default
prompt_default() {

View file

@ -22,7 +22,7 @@ while IFS= read -r line; do
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
done < "$ART_PATH"
printf "\n%bby WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
if [ ! -f .env ]; then
printf "\e[33m.env file not found. Exiting without running Docker steps.\e[0m\n"

View file

@ -24,7 +24,7 @@ while IFS= read -r line; do
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
done < "$ART_PATH"
printf "\n%bby WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "%bStopping services…%b\n" "$CYAN" "$RESET"
docker compose down --ansi never

View file

@ -23,7 +23,7 @@ while IFS= read -r line; do
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
done < "$ART_PATH"
printf "\n%bby WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "\e[32mVerifying all images are present…\e[0m\n"

View file

@ -25,7 +25,7 @@ while IFS= read -r line; do
printf "%b%s%b\n" "$PURPLE" "$line" "$RESET"
done < "$ART_PATH"
printf "\n%bby WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "\n%b by WISELESS TEAM%b\n\n" "$GRAY" "$RESET"
printf "%bKilling services…%b\n" "$CYAN" "$RESET"
docker compose down --ansi never

View file

@ -23,7 +23,7 @@ $art -split "`r?`n" | ForEach-Object {
Write-Host "$purple$_$reset"
}
Write-Host "`nby WISELESS TEAM`n" -ForegroundColor Gray
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
$Spinner = @('|', '/', '-', '\')
$Colors = @('White', 'Gray')

View file

@ -23,7 +23,7 @@ $art -split "`r?`n" | ForEach-Object {
Write-Host "$purple$_$reset"
}
Write-Host "`nby WISELESS TEAM`n" -ForegroundColor Gray
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
function Get-RandomHex
{

View file

@ -23,7 +23,7 @@ $art -split "`r?`n" | ForEach-Object {
Write-Host "$purple$_$reset"
}
Write-Host "`nby WISELESS TEAM`n" -ForegroundColor Gray
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
if (-not (Test-Path '.env'))
{

View file

@ -21,7 +21,7 @@ $art -split "`r?`n" | ForEach-Object {
Write-Host "$purple$_$reset"
}
Write-Host "`nby WISELESS TEAM`n" -ForegroundColor Gray
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
$Spinner = @('|', '/', '-', '\')
$Colors = @('White', 'Gray')

View file

@ -23,7 +23,7 @@ $art -split "`r?`n" | ForEach-Object {
Write-Host "$purple$_$reset"
}
Write-Host "`nby WISELESS TEAM`n" -ForegroundColor Gray
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
Write-Host "Verifying all images are present…" -ForegroundColor Green

View file

@ -23,7 +23,7 @@ $art -split "`r?`n" | ForEach-Object {
Write-Host "$purple$_$reset"
}
Write-Host "`nby WISELESS TEAM`n" -ForegroundColor Gray
Write-Host "`n by WISELESS TEAM`n" -ForegroundColor Gray
$Spinner = @('|', '/', '-', '\')
$Colors = @('White', 'Gray')