/sampleMEAN

A sample app based on Node.js, MongoDB and AngularJS with Docker-Support

Primary LanguageJavaScript

Sample MEAN App

A simple web-app demonstrating a CRUD-application written with the MEAN-Stack: MongoDB, Express, AngularJS and Node.js

TechStack

  • Node.js and npm (Node Package Manager)
  • MongoDB (lokaler Datenbank URL wird konfiguriert in config/database.js)

Deployment

Lokal

  1. Repository klonen: git clone https://github.com/pascalherrmann/sampleMEAN
  2. Node-Module installieren: npm install
  3. MongoDB-URL einfügen: config/database.js
  4. Server starten: node server.js
  5. Im Browser aufrufen http://localhost:8080

Docker:

  • Container per Docker-Compose starten:
docker-compose up
  • Erklärung:
    • in der Datei docker-compose.yaml wird erst das ToDo-Image per Dockerfile gebaut
    • die Datenbank basiert auf dem fertigem MongoDB-Image, welches aus dem DockerHub heruntergeladen wird
    • in Docker-Compose werdne wird der Mongo-DB-Container verlinkt
    • man kann auch durch setzen der Umgebungsvariable "UMGEBUNGSVARIABLE" eine externe Datenbank hinzufügen

Cloud Foundry

  • Repository klonen: git clone https://github.com/pascalherrmann/sampleMean
  • hinein navigieren: cd sampleMean
  • in Cloud Foundry pushen: cf push toDoApp
  • Service hinzufügen (MLab, oder per CUPS eigene Datenbank-Verbindung, alternativ UMGEBUNGSVARIABLE setzen)
  • Erklärung
    • wird ein Service hinzugefügt, wird eine Umgebungsvariable gesetzt - diese enthält einen JSON-String
    • diese wird abgefragt (falls nicht existiert einfach leeres Objekt) und falls sie die Attribute für die Services enthält, wird so der DB-URL gesetzt