An advanced e-commerce web application for SoftGeek, built with Django, Webpack, MySQL/MariaDB, and modern frontend tools.
| Technology | Purpose |
|---|---|
| Django | Python web framework for backend logic |
| MariaDB | Reliable and performant SQL database |
| Webpack | Asset bundler for JavaScript/CSS |
| SCSS | Professional grade CSS extension language |
| JavaScript | Interactive frontend |
| Nginx | Reverse proxy and static file serving |
- Product catalog with categories, filters, and search
- Cart and checkout system
- Customer authentication and registration
- Order management dashboard (Admin)
- Multi-language and multi-currency support
- Dynamic frontend assets via Webpack
- Page-level and object caching
- Django admin panel for managing inventory and multistore settings
- REST API support for mobile/third-party apps
/backend
/core # Django project settings
/shop # E-commerce app logic
/users # Custom user auth
/orders # Order management
/api # REST API
/frontend
/src # JavaScript/SCSS entry points
/dist # Webpack output (auto-generated)
/static # Static files served by Nginx
/media # Uploaded media files
/venv # Python virtual environment
.env # Environment config
manage.py # Django CLI
webpack.config.js # Webpack config
- Python >= 3.12
- pip >= 24.x
- Django >= 5.0
- Node.js >= 22.15.x + NPM >= 10.9.x
- webpack >= 5.99
- SASS >= 1.89.0
- MariaDB >= 11.7.2 || MySQL >= 8.0
- Nginx >= 1.24
git clone https://github.com/SoftGeekRO/sg.webshop.git
cd sg.webShoppython3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtCopy .env.example to .env and update your environment variables:
cp .env.example .envpython manage.py migratepython manage.py createsuperuserpython manage.py runservercd frontend
npm install
npm run dev- Setup Django with modular apps
- Configure database and models (products, categories, users, orders)
- Integrate Webpack + asset manifest loading
- Basic frontend templates using Django
- Admin configuration and permissions
- Implement online/offline mode
- Implement user registration/login
- Import products from CSV, XLS, XML, feeds
- Product listing with filters and search
- Shopping cart and checkout flow
- Admin dashboard for orders and inventory
- Multistore and vendor support
- Email notifications for orders and signups
- Enable template and query caching
- Webpack production builds with asset versioning
- Add image compression and CDN support (optional)
- Internationalization and localization (i18n)
- Write unit and integration tests
- Perform SEO audit and optimizations
- Deploy to VPS with Nginx + Gunicorn
- Set up log monitoring and performance tracking
Pull requests are welcome. Please fork the repo and use a feature branch. Ensure code style and tests pass before submitting:
black .
flake8
pytest
npm run lintThis project is licensed under the MIT License.
SoftGeek is a modern tech company focused on smart digital products and automation. Visit us at https://softgeek.ro