Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/8area8/docker-django-webpack
[ template ] Docker, django, webpack (typescript, scss, pug) + lot of goodies
https://github.com/8area8/docker-django-webpack
django docker nginx pugjs python redis selenium typescript vnc-viewer webpack
Last synced: about 1 month ago
JSON representation
[ template ] Docker, django, webpack (typescript, scss, pug) + lot of goodies
- Host: GitHub
- URL: https://github.com/8area8/docker-django-webpack
- Owner: 8area8
- Created: 2019-03-15T15:01:21.000Z (over 5 years ago)
- Default Branch: base_project
- Last Pushed: 2022-12-08T17:30:17.000Z (almost 2 years ago)
- Last Synced: 2024-09-28T08:41:27.704Z (about 2 months ago)
- Topics: django, docker, nginx, pugjs, python, redis, selenium, typescript, vnc-viewer, webpack
- Language: Python
- Homepage:
- Size: 590 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
Awesome Lists containing this project
README
# Docker Django Webpack
>Note : actuellement en français
---
## 1 - Les Technologies
### a. L'architecture de Docker-compose
- Nginx (connexion sécurisée en locale et en production avec mkcert et certbot, à implémenter soi même)
- Django Gunicorn
- Redis
- PostgreSQL (**pour le developpement**)
- Selenium et Selenium-chrome (**pour le developpement**)### b. L'architecture de l'application backend
- Django-otp : gère la "Two Factor Authentication" pour le compte admin
- Django-debug-toolbar : panneau latéral de'informations
- Django-redis : implémentation de Redis en cache
- Selenium : pour les tests fonctionnels
- Django Unittest : pour les tests unitaires et fonctionnels### c. L'architecture de l'application front-end
- NPM et Webpack
- Typescript et SCSS
- PugJs
- Jest### d. L'architecture de versionning
- travis
---
## 2 - Installation
### a. Préréquis
- posséder docker et docker-compose (docker-compose v3.7)
- Facultatif : posséder npm (nodeJs) intégré dans votre *Path* (pour les tests).
- Facultatif : posséder VNC viewer (pour visualiser les tests Selenium).### b. La commande d'installation
- Lancer `. run setup` dans votre shell bash depuis la raçine du projet.
---
## 3 - Commandes De Lancement
>Ces commandes sont à entrer dans votre Shell bash à la racine du projet.
### Le projet
- Lancer le projet : `. run UP`. L'application est accessible depuis l'adresse `127.0.0.1`.
### Les tests
> Le tests Django et Selenium ne peuvent se lancer qui si les conteneurs sont en fonction.
- Lancer les tests Selenium : `. run djselenium`. Voir la partie "Selenium" pour visualiser les tests avec VNC Viewer.
- Lancer les autres tests django : `. run djtest`.
- Lancer les tests Jest : `. run ntest`.---
## 4 - Selenium
Pour visualiser les tests Selenium, installez *VNC Viewer*.
Ouvrez ensuite VNC Viewer et ajoutez une nouvelle connexion (fichier - Nouvelle connexion).
Remplissez les champs comme dans l'exemple:
![VNC Viewer example](https://i.imgur.com/9Y9DPkn.png)
Lancez les conteneurs si ce n'est pas déjà fait.
Ouvrez ensuite la connexion dans VNC Viewer et entrez le mot de passe `secret`. Une nouvelle fenêtre s'ouvrira.
Cette fenêtre donne sur le conteneur Selenium-chrome.
Lancez enfin les tests Selenium avec la commande `. run djselenium`. Les tests seront visibles depuis la fenêtre ouverte dans VNC Viewer.