Skip to content

fullstack production ready online store for custom phone cases

License

Notifications You must be signed in to change notification settings

tantaneity/emptylight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

133 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmptyLight

online store for custom phone cases

features

  • custom phone case catalog with search and filters
  • cart and order management
  • telegram bot for order notifications and support
  • admin panel for managing cases, orders, and payment settings
  • light/dark theme support
  • multi-language support (en/ru)

screenshots

homepage

homepage

case details

case details

search

search

admin panel

admin panel admin features

themes

light theme

tech stack

frontend

  • react 19
  • typescript
  • vite
  • react router

backend

  • nestjs
  • typescript
  • postgresql
  • typeorm
  • jwt auth
  • aws s3 (digitalocean spaces)

bot

  • python
  • telegram bot api

architecture

domain-driven design (ddd) with clean architecture:

  • domain - business logic and entities
  • application - use cases and dtos
  • infrastructure - controllers, repositories, external services

quick start

prerequisites

  • docker & docker compose
  • node.js 18+
  • python 3.11+

development

  1. clone repository
git clone https://github.com/yourusername/emptylight.git
cd emptylight
  1. create .env file
cp .env.example .env

configure storage type in .env:

  • STORAGE_TYPE=local - store files locally in api/uploads/ folder
  • STORAGE_TYPE=spaces - store files in digitalocean spaces (s3-compatible)

for local storage:

STORAGE_TYPE=local
UPLOAD_PATH=uploads
API_URL=http://localhost:3001

for cloud storage:

STORAGE_TYPE=spaces
SPACES_ENDPOINT=https://fra1.digitaloceanspaces.com
SPACES_REGION=fra1
SPACES_BUCKET_NAME=your-bucket-name
SPACES_ACCESS_KEY=your-access-key
SPACES_SECRET_KEY=your-secret-key
SPACES_CDN_URL=https://your-cdn-url.com
  1. start services
docker-compose up -d
  1. create admin user
cd api
npm run seed:admin
  1. start frontend
cd client
npm install
npm run dev

production deployment

docker-compose -f docker-compose.yml up -d

development workflow

api

cd api
npm run start:dev

bot

cd bot
python src/main.py

client

cd client
npm run dev

migrations

cd api
npm run migration:generate -- src/infrastructure/database/migrations/MigrationName
npm run migration:run

license

mit

About

fullstack production ready online store for custom phone cases

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published