feat: Add comprehensive Django user app with tests using model-bakery
- Implemented user authentication with JWT tokens - Added user and profile models with OneToOne relationship - Created service layer for business logic separation - Implemented DRF serializers and views - Added comprehensive test suite with model-bakery factories - Fixed ipdb/pdbpp dependency conflicts with custom test runner - Configured development and production environments - Added deployment configurations for Apache, systemd, and Docker
This commit is contained in:
15
deploy/systemd/celery-beat.service
Normal file
15
deploy/systemd/celery-beat.service
Normal file
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Celery Beat for Django project
|
||||
After=network.target redis.service postgresql.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=www-data
|
||||
Group=www-data
|
||||
EnvironmentFile=/var/www/project/.env
|
||||
WorkingDirectory=/var/www/project/src
|
||||
ExecStart=/var/www/project/venv/bin/celery -A config beat --loglevel=INFO --scheduler django_celery_beat.schedulers:DatabaseScheduler
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
16
deploy/systemd/celery-worker.service
Normal file
16
deploy/systemd/celery-worker.service
Normal file
@@ -0,0 +1,16 @@
|
||||
[Unit]
|
||||
Description=Celery Worker for Django project
|
||||
After=network.target redis.service postgresql.service
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=www-data
|
||||
Group=www-data
|
||||
EnvironmentFile=/var/www/project/.env
|
||||
WorkingDirectory=/var/www/project/src
|
||||
ExecStart=/var/www/project/venv/bin/celery -A config worker --loglevel=INFO --pidfile=/run/celery/worker.pid
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
PIDFile=/run/celery/worker.pid
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
27
deploy/systemd/gunicorn.service
Normal file
27
deploy/systemd/gunicorn.service
Normal file
@@ -0,0 +1,27 @@
|
||||
[Unit]
|
||||
Description=Gunicorn daemon for Django project
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
User=www-data
|
||||
Group=www-data
|
||||
RuntimeDirectory=gunicorn
|
||||
WorkingDirectory=/var/www/project/src
|
||||
ExecStart=/var/www/project/venv/bin/gunicorn config.wsgi:application \
|
||||
--bind unix:/run/gunicorn.sock \
|
||||
--workers 3 \
|
||||
--worker-class gevent \
|
||||
--worker-connections 1000 \
|
||||
--timeout 30 \
|
||||
--keep-alive 2 \
|
||||
--max-requests 1000 \
|
||||
--max-requests-jitter 100 \
|
||||
--preload
|
||||
ExecReload=/bin/kill -s HUP $MAINPID
|
||||
KillMode=mixed
|
||||
TimeoutStopSec=5
|
||||
PrivateTmp=true
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user