Die Erstellung von Websites besteht aus vielen Teilaufgaben. Zu einer effizienten Durchführung dieser Arbeiten dienen geeignete Werkzeuge, Dienste und Verfahren. Die wichtigsten von mir eingesetzten sind:
- PhpStorm, Bootstrap Studio und PyCharm als Entwicklungsumgebungen
- Github Copilot als Programmier-Assistenz
- ChatGPT+ für Recherchen
- PhpMyAdmin und SQLiteStudio als Datenbank-Frontends
- Web-Application-Framework Symfony mit objekt-relationalem Datenbank-Mapper Doctrine als Basis für Web-Anwendungen
- JavaScript/Typescript und Vue.js für interaktive Website-Inhalte
- Webpack (node.js) zur Kompilierung von SCSS und JavaScript/TypeScript
- Git und Git Extensions for Windows zur Versionsverwaltung
- PyTest, PhpUnit und Selenium für die Durchführung automatischer Tests
- CSS HTML Validator zur Verifikation des HTML/CSS-Codes der fertigen Websites
- Freeplane, Typora und phpDocumentor für die Erstellung von Dokumentationen
- Adobe Lightroom, Photoshop und Luminar AI für die Bildbearbeitung
- Inkscape, Adobe Illustrator und Adobe Fireworks für die Erstellung von Grafik-Elementen
- Blender für die Anfertigung von Animationen
- Check der erstellten Websites mit den Browsern Mozilla Firefox, Google Chrome, Microsoft Edge und Apple Safari
- Lambdatest zum Testen der Websites mit Apple-Safari auf MacOS, iPhone und iPad
- Probas (von uns entwickelt auf Basis von Symfony) für die Projektverwaltung, Zeiterfassung und Rechnungsstellung
- Acronis Cyber Protect (Windows) sowie Relax-and-Recover und Borg Backup (beides Linux) zur Datensicherung
- TeamViewer zur Online-Unterstützung meiner Kunden
Für unseren Entwicklungs-Server verwenden wir Debian Linux mit Docker und Docker-Compose. Darin hat jede Website einen individuellen Docker-Stack mit Web-Server Apache, PHP mit Xdebug, node.js und Datenbank MySQL. Die Verwaltung der Docker-Stacks erfolgt mit einer von uns in der Programmiersprache Python programmierten Web-Oberfläche.