Devcase a été conçu pour les développeurs et les professionnels de l'informatique. C'est un outil pour vous aider à obtenir votre propre blog et votre portefeuille en ligne rapidement et facilement.
Demo / Exemple: rburkhardt.com
Maison

À propos

Blogpost avec image (la nouvelle version a des commentaires-système)

Blogpost sans image (la nouvelle version a des commentaires-système)

Page de contact (la nouvelle version a des captchas)

Tableau de bord administratif

Admin - à propos de configuration

Le moyen le plus rapide et le plus simple de tester les cas de développement localement :
git clone [email protected]:rob32/dev-case.git
cd dev-case
docker-compose up -d --build
docker-compose exec web python manage.py migrate
docker-compose exec web python manage.py createsuperuser
Important :
Créez un nouveau fichier .env avec le contenu suivant (avant docker-compose up -d --build ):
DEBUG=True
DATABASE_URL=psql://postgres:postgres@db:5432/postgres
Allez sur http://127.0.0.1:8000/ et vérifiez si tout a fonctionné.
Environnement de développement avec Python (VENV) et nœud (facultatif).
Testé avec GNU / Linux et Mac:
git clone [email protected]:rob32/dev-case.git
cd dev-case
python3 -m venv venv && source venv/bin/activate
pip install -r requirements-dev.txt
python3 manage.py migrate
pre-commit install
Créez un fichier .env avec au moins le contenu suivant:
DEBUG=True
# only if postgres is used, uncomend the next line (example):
# DATABASE_URL=psql://postgres:postgres@db:5432/postgres
Démarrez le serveur de développement avec python3 manage.py runserver
Allez sur http://127.0.0.1:8000/
# Install dependecies with:
npm install
# Build "Fronted" manually (uses `rm -rf` for cleaning):
npm run build
Facultatif: Démarrez Backend-Server et Esbuild en mode de montre en même temps avec npm start .
# Unit/Integration Tests:
python3 manage.py test
# Code Quality with the help of pre-commit
pre-commit run -a -v
Une sélection de paramètres possibles via des variables d'environnement:
SECRET_KEY=insecure-secretkey12345
DEBUG=FALSE
ALLOWED_HOSTS=my-domain-name.com
DATABASE_URL=psql://postgres:postgres@db:5432/postgres
ADMIN_LOCATION=dev-case/
ROBOTS_DISALLOW=/contact/,/private-file.html`
FEED_TITLE="My Feed Title"
FEED_DESCRIPTION="My feed description"
USE_UMAMI_ANALYTICS=True
UMAMI_SCRIPT_URL=https://your-umami-app.com/umami.js
UMAMI_DATA_WEBSITE_ID=2323-3232-2323-3232
Vider
Pour le déploiement / production, il y a deux branches pour le moment:
Pour la plate-forme d'application de DigitalOcean, vous pouvez utiliser le bouton "Déployer vers DigitalOcean" ci-dessous. Veuillez vous assurer d'avoir un espace / seau S3 fonctionnant avec les informations d'identification requises. Guide: comment créer un espace numérique et une clé API
Une fois le processus de construction terminé:
Accédez à la console de votre application via l'onglet Console et exécutez les commandes suivantes:
python3 manage.py migrate pour les migrations initiales de la base de donnéespython3 manage.py createsuperuser pour créer un utilisateur administratifDans la dernière étape, effectuez le réglage suivant dans votre paramètre d'espace:
Votre espace -> Paramètres -> CORS Configurations (ADD):
*ondigitalocean.app*example.comCela devrait résoudre le problème avec les polices (en-tête manquant, access-contrôle-allow-original)
Paramètres possibles pour la production (via les variables environnementales):
SECURE_SSL_REDIRECT=True
SECURE_HSTS_SECONDS=2592000
SECURE_HSTS_INCLUDE_SUBDOMAINS=True
SECURE_HSTS_PRELOAD=True
SESSION_COOKIE_SECURE=True
CSRF_COOKIE_SECURE=True
Assurez-vous que USE_S3_STORAGE est défini sur True .
Paramètres possibles pour le stockage compatible S3 (via les variables d'environnement):
USE_S3_STORAGE (default=False)
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_STORAGE_BUCKET_NAME
AWS_S3_REGION_NAME
AWS_S3_ENDPOINT_URL
AWS_S3_CUSTOM_DOMAIN
AWS_LOCATION
AWS_IS_GZIPPED (default=False)
AWS_S3_FILE_OVERWRITE (default=True)
AWS_DEFAULT_ACL (default=public-read)
Vous pouvez modifier l'emplacement de la zone d'administration à l'aide de la variable d'environnement ADMIN_LOCATION . La valeur par défaut est admin/ .
Modifiez le nom de domaine et affichez le nom via Admin-Panel (Sites App) sur votre nom de domaine réel. La valeur par défaut est définie sur "Example.com".
Pour ajouter des règles d'interdiction , utilisez la variable d'environnement ROBOTS_DISALLOW . Pour une entrée de sitemap valide, modifiez votre nom de domaine comme décrit dans Sitemap.xml.
Exemple: ROBOTS_DISALLOW=/contact/,/private-file.html
Pour recevoir des notifications, vous pouvez configurer les paramètres suivants via des variables d'environnement:
USE_EMAIL_SMTP (default=False)
EMAIL_NOTIFICATION (default=False)
EMAIL_RECIPIENT (receiver address)
EMAIL_HOST
EMAIL_HOST_USER
EMAIL_HOST_PASSWORD
EMAIL_USE_TLS (default=True)
EMAIL_USE_SSL (default=False)
EMAIL_PORT (default=587)
DEFAULT_FROM_EMAIL
Assurez-vous que USE_EMAIL_SMTP et EMAIL_NOTIFICATION est défini sur True .
La variable DEFAULT_FROM_EMAIL doit avoir une valeur valide (exemple: [email protected]).
Cela vous informera lorsqu'il y a de nouveaux commentaires ou lorsque vous recevrez un message via la page de contact.
Si vous souhaitez également être informé en cas d'erreurs de serveur, définissez la variable d'environnement DJANGO_ADMINS avec votre nom et votre adresse e-mail. Exemple:
DJANGO_ADMINS=YourName:[email protected]
# or more
DJANGO_ADMINS=NameOne:[email protected],NameTwo:[email protected]
Assurez-vous que la variable USE_UMAMI_ANALYTICS Environment est définie sur True .
Créez en outre une variable d'environnement UMAMI_SCRIPT_URL et UMAMI_DATA_WEBSITE_ID avec les valeurs correspondantes.
Exemple:
USE_UMAMI_ANALYTICS=True
UMAMI_SCRIPT_URL=https://your-umami-app.com/umami.js
UMAMI_DATA_WEBSITE_ID=2323-3232-2323-3232
Assurez-vous que la variable USE_PLAUSIBLE_ANALYTICS Environment est définie sur True .
Créez en outre une variable d'environnement PLAUSIBLE_SCRIPT_URL et PLAUSIBLE_DATA_DOMAIN avec les valeurs correspondantes.
Exemple:
USE_PLAUSIBLE_ANALYTICS=True
PLAUSIBLE_SCRIPT_URL=https://plausible.io/js/script.js
PLAUSIBLE_DATA_DOMAIN=example.com
Les contributions, les commentaires et les requêtes de fonctionnalités sont toujours les bienvenues. Pour en savoir plus, voir le guide des contributeurs
Un grand merci aux grands projets suivants:
Le projet est disponible sous la licence GNU GPLV3.
Si vous aimez le projet, veuillez lui donner une étoile