# SDDv2 Installation Guide
## Voorvereisten
- Python 3.9+
- Git
- Docker & Docker Compose (voor later gebruik)
## Basis Setup
### 1. Poetry Installatie
```bash
# Voor macOS/Linux
curl -sSL https://install.python-poetry.org | python3 -
# Voor Windows (PowerShell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
# Voeg Poetry toe aan PATH (voor macOS/Linux)
export PATH="$HOME/.local/bin:$PATH"
# Verifieer installatie
poetry --version
# Clone het project (indien nog niet gedaan)
git clone [repository-url]
cd SDDv2
# Ga naar de backend directory
cd backend
# Activeer Poetry environment
poetry shell
# Installeer dependencies
poetry install
# Maak basis directory structuur
mkdir -p core/settings
touch core/settings/__init__.py
touch core/settings/base.py
touch core/settings/development.py
touch core/settings/production.py
# Maak apps
python manage.py startapp discounts
python manage.py startapp shopware
python manage.py startapp users
# Maak apps directory en verplaats apps
mkdir apps
mv discounts shopware users apps/
touch apps/__init__.py
import os
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent.parent
SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', 'your-development-key')
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
# Third party apps
'rest_framework',
# Local apps
'apps.discounts.apps.DiscountsConfig',
'apps.shopware.apps.ShopwareConfig',
'apps.users.apps.UsersConfig',
]
# [Rest van de standaard Django settings...]
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.IsAuthenticated',
],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
],
}
Voor elke app (discounts, shopware, users), update apps.py:
# apps/[app_name]/apps.py
from django.apps import AppConfig
class [AppName]Config(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.[app_name]'
# Voer database migraties uit
python manage.py migrate
# Maak superuser aan
python manage.py createsuperuser
# Check eerst of poort 8000 vrij is
lsof -i :8000 # Voor macOS/Linux
# Als bezet, stop het proces:
kill $(lsof -ti:8000)
# Start de server
python manage.py runserver
- Open browser en ga naar http://127.0.0.1:8000/admin
- Log in met superuser credentials
- Controleer of je de admin interface kunt zien
- Poetry niet gevonden
export PATH="$HOME/.local/bin:$PATH"
source ~/.zshrc # of ~/.bashrc
- Poort 8000 in gebruik
# Optie 1: Stop het proces
kill $(lsof -ti:8000)
# Optie 2: Gebruik andere poort
python manage.py runserver 8001
- Import errors voor apps
- Controleer of
apps/__init__.py
bestaat - Controleer of de app paths correct zijn in INSTALLED_APPS
- Controleer of de
name
in elkeapps.py
correct is
- Activeer altijd eerst de Poetry environment:
cd backend
poetry shell
- Start de development server:
python manage.py runserver
- Voor nieuwe dependencies:
poetry add [package-name]
- Models definiëren voor elke app
- API endpoints configureren
- Frontend setup
- Docker configuratie