diff --git a/app.js b/app.js
index f3ed756b08f43e2b00d9a2ba38528dca12308b2f..68d3e9442d8290a20f6bded553c389810031c0ac 100644
--- a/app.js
+++ b/app.js
@@ -8,6 +8,8 @@ const bodyParser = require('body-parser');
 const session = require('express-session');
 const errorhandler = require('errorhandler');
 const flash = require('express-flash');
+const fileUpload = require('express-fileupload');
+
 const i18n = require('i18n'); // internationalization
 i18n.configure({
   locales:['de', 'en'],
@@ -22,12 +24,20 @@ var app = express();
 app.set('port', config.app.port);
 app.set('views', __dirname + '/views');
 app.set('view engine', 'pug');
+
+// enable files upload
+app.use(fileUpload({
+  createParentPath: true,
+  limits: { 
+    fileSize: 1000000 // 1 MB max. file size
+  }
+}));
+
 app.use(morgan('combined'));
 app.use(cookieParser());
 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({extended: false}));
 app.use(express.static(path.join(__dirname, 'public')));
-
 app.use(i18n.init);
 app.use((req, res, next) => {
   res.setLocale('de');
diff --git a/config/config.js b/config/config.js
index 5c0c2cfc56bd3d8e619413a1928de3eac06e9c9f..b1345231cc940921d2964fa22deb70cbcb569240 100644
--- a/config/config.js
+++ b/config/config.js
@@ -9,8 +9,8 @@ module.exports = {
       saml: {
         path: process.env.SAML_PATH || '/saml/SSO',
         entryPoint: process.env.SAML_ENTRY_POINT || 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SSOService.php',
-        //issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata
-        issuer: 'sp-account-testing.m4lab.hft-stuttgart.de', //testing metadata
+        issuer: 'sp-account.m4lab.hft-stuttgart.de', //local metadata
+        //issuer: 'sp-account-testing.m4lab.hft-stuttgart.de', //testing metadata
         //issuer: 'sp-account-prod.m4lab.hft-stuttgart.de', //production metadata
         logoutUrl: 'https://m4lab.hft-stuttgart.de/idp/saml2/idp/SingleLogoutService.php'
       }
@@ -22,6 +22,7 @@ module.exports = {
       port: 3306,                 // MySQL port
       dbUser: 'userdb',           // User DB
       host_project: 'm4lab.hft-stuttgart.de', // DB host project db
+      //host_project: 'localhost', // local
       dbProject: 'projectDB'     // Project DB
     },
     mailer: {
diff --git a/package-lock.json b/package-lock.json
index 23c18b893acaa6380eacf6dafc631388f394e344..8def620529bb811a0d3e89dcac0b8c7aa8a42574 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -196,6 +196,14 @@
         "fill-range": "^7.0.1"
       }
     },
+    "busboy": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.3.1.tgz",
+      "integrity": "sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==",
+      "requires": {
+        "dicer": "0.3.0"
+      }
+    },
     "bytes": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
@@ -432,6 +440,14 @@
       "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
       "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
     },
+    "dicer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.3.0.tgz",
+      "integrity": "sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==",
+      "requires": {
+        "streamsearch": "0.1.2"
+      }
+    },
     "doctypes": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
@@ -579,6 +595,14 @@
         }
       }
     },
+    "express-fileupload": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/express-fileupload/-/express-fileupload-1.1.6.tgz",
+      "integrity": "sha512-w24zPWT8DkoIxSVkbxYPo9hkTiLpCQQzNsLRTCnecBhfbYv+IkIC5uLw2MIUAxBZ+7UMmXPjGxlhzUXo4RcbZw==",
+      "requires": {
+        "busboy": "^0.3.1"
+      }
+    },
     "express-flash": {
       "version": "0.0.2",
       "resolved": "https://registry.npmjs.org/express-flash/-/express-flash-0.0.2.tgz",
@@ -1759,6 +1783,11 @@
       "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
       "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
     },
+    "streamsearch": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
+      "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
+    },
     "string-width": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
diff --git a/package.json b/package.json
index 2c3a256225dfdd55c4ad54c364b6e4d650af6004..2df854950e08a3f9e37eb6ff7ff44b94f786b621 100644
--- a/package.json
+++ b/package.json
@@ -28,6 +28,7 @@
     "crypto": "^1.0.1",
     "errorhandler": "1.4.3",
     "express": "^4.17.1",
+    "express-fileupload": "^1.1.6",
     "express-flash": "0.0.2",
     "express-session": "^1.17.0",
     "fs": "0.0.1-security",
diff --git a/routes/routes-account.js b/routes/routes-account.js
index 5c84648e4a9e20bcd3fb050b93b13e913efacb46..8c0b3129030f5295ef374d8d7ebc599f9cfd7d5b 100644
--- a/routes/routes-account.js
+++ b/routes/routes-account.js
@@ -62,12 +62,12 @@ module.exports = function (app, config, passport, i18n) {
         failureFlash: true
       }),
     function (req, res) {
-      res.redirect('/account/');
+      res.redirect('/');
     }
   );
 
   // to generate Service Provider's XML metadata
-  app.get('/saml/metadata', 
+  app.get('/saml/metadata',
     function(req, res) {
       res.type('application/xml');
       var spMetadata = samlStrategy.generateServiceProviderMetadata(fs.readFileSync(__dirname + '/cert/cert.pem', 'utf8'));
@@ -104,8 +104,8 @@ module.exports = function (app, config, passport, i18n) {
         }
       })
     } else {
-      res.redirect('/account/login'); // localhost
-    } 
+      res.redirect('/login'); // localhost
+    }
   });
 
   app.get('/login',
@@ -118,14 +118,14 @@ module.exports = function (app, config, passport, i18n) {
 
   app.get('/logout', function (req, res) {
     if (req.user == null) {
-      return res.redirect('/account/');
+      return res.redirect('/');
     }
 
     req.user.nameID = req.user.id;
     req.user.nameIDFormat = req.user.idFormat;
     return samlStrategy.logout(req, function(err, uri) {
       req.logout();
-      
+
       if ( req.session ) {
         req.session.destroy((err) => {
           if(err) {
@@ -133,7 +133,7 @@ module.exports = function (app, config, passport, i18n) {
           }
         });
       }
-     
+
       return res.redirect(uri);
     });
   });
@@ -149,7 +149,7 @@ module.exports = function (app, config, passport, i18n) {
         }
       })
     } else {
-      res.redirect('/account/login');
+      res.redirect('/login');
     }
   });
 
@@ -183,7 +183,7 @@ module.exports = function (app, config, passport, i18n) {
         // create JSON object of projects and user status for front-end
         function(userProjects, projectsOverview, done) {
           var allProjects = []  // JSON object
-          
+
           var userProjectId = []  // array of user's project_id
           for (var i = 0; i < userProjects.length; i++) {
             userProjectId.push(userProjects[i].project_id)
@@ -213,7 +213,7 @@ module.exports = function (app, config, passport, i18n) {
         }
       ])
     } else {
-      res.redirect('/account/login');
+      res.redirect('/login');
     }
   });
 
@@ -223,7 +223,7 @@ module.exports = function (app, config, passport, i18n) {
         user: req.user // useful for view engine, useless for HTML
       });
     } else {
-      res.redirect('/account/login');
+      res.redirect('/login');
     }
   });
 
@@ -238,7 +238,7 @@ module.exports = function (app, config, passport, i18n) {
       industry: req.body.inputIndustry,
       speciality: req.body.inputSpeciality,
     }
-    
+
     if (req.isAuthenticated()) {
       if (userData.email) {
         dbconn.user.query('UPDATE user SET ? WHERE email = "' +userData.email+'"', userData, function (err, rows, fields) {
@@ -250,14 +250,14 @@ module.exports = function (app, config, passport, i18n) {
               //req.flash('success', 'Profile updated!');
               req.flash('success', 'Ihr Benutzerprofil wurde aktualisiert!');
             }
-            res.redirect('/account/profile');
+            res.redirect('/profile');
         })
       }
     } else {
-      res.redirect('/account/login');
+      res.redirect('/login');
     }
   });
-  
+
   app.post('/changePwd', function (req, res) {
     if (req.isAuthenticated()) {
       var currPwd = req.body.inputCurrPwd
@@ -269,27 +269,32 @@ module.exports = function (app, config, passport, i18n) {
           // Load hashed passwd from DB
           dbconn.user.query('SELECT password FROM credential WHERE user_id='+userId, function (err, rows, fields) {
             if (err) {
-              res.redirect('/500')
-              throw err
+              console.error(err)
+              res.status(500).render(lang+'/500', {
+                error: err
+              })
             }
             var userPwd = rows[0].password
 
             // check if the password is correct
             bcrypt.compare(currPwd, userPwd, function(err, isMatch) {
               if (err) {
-                res.redirect('/500')
-                throw err
+                console.error(err)
+                res.status(500).render(lang+'/500', {
+                  error: err
+                })
               }
               else if (!isMatch) {
                 //req.flash('error', "Sorry, your password was incorrect. Please double-check your password.")
                 req.flash('error', "Das Passwort ist leider falsch. Bitte überprüfen Sie Ihre Eingabe.")
                 //res.redirect('/security')
-                res.redirect('/account/security')
+                res.redirect('/security')
               }
               else {
                 if ( newPwd != retypePwd ) {
-                  req.flash('error', "Passwords do no match. Please make sure you re-type your new password correctly.")
-                  res.redirect('/account/security')
+                  //req.flash('error', "Passwords do no match. Please make sure you re-type your new password correctly.")
+                  req.flash('error', 'Passwörter stimmen nicht überein. Bitte stellen Sie sicher, dass Sie das Passwort beide Male genau gleich eingeben.')
+                  res.redirect('/security')
                 }
                 else {
                   // update password
@@ -318,19 +323,19 @@ module.exports = function (app, config, passport, i18n) {
                             }
                           });
                         }
-                        res.redirect('/account/security')
+                        res.redirect('/security')
                       })
                     });
                   });
                 }
               }
-          }) 
+          })
         })
         }
-      })  
+      })
     }
     else {
-      res.redirect('/account/login');
+      res.redirect('/login');
     }
   });
 
@@ -348,7 +353,7 @@ module.exports = function (app, config, passport, i18n) {
       "we've received a request to reset your password. However, this email address is not on our database of registered users.\n\n"+
       "Thanks,\nM4_LAB Team";
     var emailSubject = "Account Access Attempted"; */
-    
+
     async.waterfall([
       function(done) {
         crypto.randomBytes(20, function(err, buf) {
@@ -406,7 +411,7 @@ module.exports = function (app, config, passport, i18n) {
         req.flash('success', 'Wenn Ihre E-Mail-Adresse registriert ist, wurde eine E-Mail mit dem weiteren Vorgehen an ' + emailAddress + ' versendet.');
       }
       //res.redirect('/forgotPwd'); // deployment
-      res.redirect('/account/forgotPwd'); // localhost
+      res.redirect('/forgotPwd'); // localhost
     });
   });
 
@@ -416,7 +421,7 @@ module.exports = function (app, config, passport, i18n) {
         //req.flash('error', 'Password reset token is invalid or has expired.');
         req.flash('error', 'Der Schlüssel zum zurücksetzen des Passworts ist ungültig oder abgelaufen.');
         //res.redirect('/forgotPwd'); // deployment
-        res.redirect('/account/forgotPwd'); // localhost
+        res.redirect('/forgotPwd'); // localhost
       }
       else {
         res.render(lang+'/account/reset');
@@ -455,7 +460,7 @@ module.exports = function (app, config, passport, i18n) {
                   }
                 });
                 // redirect to login page
-                res.redirect('/account/login')
+                res.redirect('/login')
               }
             })
           });
@@ -463,10 +468,10 @@ module.exports = function (app, config, passport, i18n) {
       }
       else {
         req.flash('error', "User not found.")
-        res.redirect('/account/login')
+        res.redirect('/login')
       }
     });
-   
+
   });
 
   // todo: user registration with captcha
@@ -507,9 +512,9 @@ module.exports = function (app, config, passport, i18n) {
           }
           else {
             //req.flash('success', 'Your account has been created. Please log in.')
-            req.flash('success', 'Ihr Benutzerkonto wurde angelegt. Bitte melden Sie sich an.') 
+            req.flash('success', 'Ihr Benutzerkonto wurde angelegt. Bitte melden Sie sich an.')
           }
-          res.redirect('/account/registration');
+          res.redirect('/registration');
         })
       });
     });
diff --git a/routes/routes-project.js b/routes/routes-project.js
index a85058ff18155ccb4347ce0d512e491da30d5d0a..00b2e0567ccac5be7fb99f702c0bf67b1129bffe 100644
--- a/routes/routes-project.js
+++ b/routes/routes-project.js
@@ -2,6 +2,8 @@ const methods = require('./methods')
 const async = require('async')
 const helpers = require('./helpers')
 
+const pictSizeLimit = 1000000 // 1 MB
+
 module.exports = function (app) {
  
   // ======== APP ROUTES - PROJECT ====================
@@ -104,7 +106,7 @@ module.exports = function (app) {
       res.render(lang+'/project/addProjectOverview')
     }
     else {
-      res.redirect('/account/login')
+      res.redirect('/login')
     }
   })
   
@@ -144,7 +146,7 @@ module.exports = function (app) {
         if (err) {
           //req.flash('error', "Failed")
           req.flash('error', "Fehlgeschlagen")
-          res.redirect('/account/addProjectOverview');
+          res.redirect('/addProjectOverview');
         }
         else {
           req.flash('success', 'Your project has been created.')
@@ -160,13 +162,45 @@ module.exports = function (app) {
       if (req.body.wiki)
         wiki = 1
 
+      var projectLogo = req.files.logo
+      var projectPicture = req.files.src
+      var projectLogoPath, projectPicturePath
+      
+      if (projectLogo) {
+        // raise error if size limit is exceeded
+        if (projectLogo.size === pictSizeLimit) {
+          req.flash('error', 'Projektlogo exceeds 1 MB');
+          res.redirect('/addprojectoverview');
+        }
+        else {
+          // TEST PATH FOR DEVELOPMENT (LOCALHOST)
+          projectLogoPath = './folder-in-server-to-save-projektlogo/'+req.body.pname+'/'+projectLogo.name
+          // PATH FOR TEST/LIVE SERVER
+          // var projectLogoPath = to-be-defined
+        }
+      }
+      if (projectPicture) {
+        // raise error if size limit is exceeded
+        if (projectPicture.size === pictSizeLimit) {
+          req.flash('error', 'Projektbild exceeds 1 MB');
+          res.redirect('/addprojectoverview');
+        }
+        else {
+          // TEST PATH FOR DEVELOPMENT (LOCALHOST)
+          projectPicturePath = './folder-in-server-to-save-projektbild/'+req.body.pname+'/'+projectPicture.name
+          // PATH FOR TEST/LIVE SERVER
+          // var projectPicturePath = to-be-defined
+        }
+        
+      }
+      
       var projectTerm = req.body.termForm + " - " + req.body.termTo
       var projectOverviewData = {
         pname: req.body.pname,
         title: req.body.title,
         onelinesummary: req.body.summary,
         category: req.body.category,
-        logo: req.body.logo,
+        logo: projectLogoPath,
         gitlab: req.body.gitlabURL,
         wiki: wiki,
         overview: req.body.overview,
@@ -178,7 +212,7 @@ module.exports = function (app) {
         term: projectTerm,
         further_details: req.body.furtherDetails,
         website: req.body.website,
-        src: req.body.src,
+        src: projectPicturePath,
         caption: req.body.caption,
         contact_lastname: req.body.contactName,
         contact_email: req.body.contactEmail,
@@ -186,6 +220,28 @@ module.exports = function (app) {
         leader_email: req.body.leaderEmail
       }
       
+      // save pictures
+      if (projectLogo) {
+        projectLogo.mv(projectLogoPath, function(err) {
+          if (err) {
+            console.error(err)
+            res.status(500).render(lang+'/500', {
+              error: err
+            })
+          }
+        });
+      }
+      if (projectPicture) {
+        projectPicture.mv(projectPicturePath, function(err) {
+          if (err) {
+            console.error(err)
+            res.status(500).render(lang+'/500', {
+              error: err
+            })
+          }
+        });
+      }
+
       /* RS: Temporary solution while Project DB is still in early phase.
               When User DB and Project DB are integrated and quite stabil, this operation should be done in 1 transaction.
       */
@@ -224,7 +280,7 @@ module.exports = function (app) {
             if (err) {
               //req.flash('error', "Failed")
               req.flash('error', "Fehlgeschlagen")
-              res.redirect('/account/addProjectOverview');
+              res.redirect('/addProjectOverview');
             }
             else {
               req.flash('success', 'Your project has been created.')
diff --git a/views/DE/account/home.pug b/views/DE/account/home.pug
index dc4e1c83fb6e851c47dd4e86cc07792f1f05c2f9..5a19d9bc2e267b21414f62498700c2cfa65a6221 100644
--- a/views/DE/account/home.pug
+++ b/views/DE/account/home.pug
@@ -34,9 +34,9 @@ html(lang="de")
                 h5
                     span #{user.firstname} #{user.lastname}
                 div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical")
-                    a(class="nav-link" href="/account/profile" aria-selected="true") Benutzerprofil
-                    a(class="nav-link" href="/account/security" aria-selected="false") Sicherheitseinstellungen
-                    a(class="nav-link" href="/account/services" aria-selected="false") Projekte und Dienste
+                    a(class="nav-link" href="/profile" aria-selected="true") Benutzerprofil
+                    a(class="nav-link" href="/security" aria-selected="false") Sicherheitseinstellungen
+                    a(class="nav-link" href="/services" aria-selected="false") Projekte und Dienste
                     a(class="nav-link" href="/logout" aria-selected="false") Logout
             div(class="col-sm-9")
                 p content goes here
diff --git a/views/DE/account/profile.pug b/views/DE/account/profile.pug
index eba579b384e8e1667f795e742fe7366b29fd0c3b..999fc3c7dd72b035511a9683611f892ffbe46ff9 100644
--- a/views/DE/account/profile.pug
+++ b/views/DE/account/profile.pug
@@ -35,8 +35,8 @@ html(lang="de")
                     span #{user.firstname} #{user.lastname}
                 div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical")
                     a(class="nav-link" href="#" aria-selected="true") Benutzerprofil
-                    a(class="nav-link" href="/account/security" aria-selected="false") Sicherheitseinstellungen
-                    a(class="nav-link" href="/account/services" aria-selected="false") Projekte und Dienste
+                    a(class="nav-link" href="/security" aria-selected="false") Sicherheitseinstellungen
+                    a(class="nav-link" href="/services" aria-selected="false") Projekte und Dienste
                     a(class="nav-link" href="/logout" aria-selected="false") Logout
             div(class="col-sm-9")
                 if successes
@@ -47,7 +47,7 @@ html(lang="de")
                     for error, i in errors
                         div.alert.alert-danger.alert-dismissible.fade.show #{ error }
                             a(class="close", href="#", data-dismiss="alert", aria-label="close") &times;
-                form#profileForm(method="POST", action="/account/updateProfile")
+                form#profileForm(method="POST", action="/updateProfile")
                     div(class="form-row")
                         div(class='form-group col-md-2')
                             label(for="title") Anrede
diff --git a/views/DE/account/security.pug b/views/DE/account/security.pug
index 7d81edee3e47dcb85db9c70cfa392b1e7591e61e..fde244aae036a39a3dabc9e4ebfe29b2fd5e1610 100644
--- a/views/DE/account/security.pug
+++ b/views/DE/account/security.pug
@@ -37,9 +37,9 @@ html(lang="de")
                 h5
                     span #{user.firstName} #{user.lastName}
                 div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical")
-                    a(class="nav-link" href="/account/profile" aria-selected="true") Benutzerprofil
+                    a(class="nav-link" href="/profile" aria-selected="true") Benutzerprofil
                     a(class="nav-link" href="#" aria-selected="false") Sicherheitseinstellungen
-                    a(class="nav-link" href="/account/services" aria-selected="false") Projekte und Dienste
+                    a(class="nav-link" href="/services" aria-selected="false") Projekte und Dienste
                     a(class="nav-link" href="/logout" aria-selected="false") Logout
             div(class="col-sm-9")
                 if successes
@@ -50,7 +50,7 @@ html(lang="de")
                     for error, i in errors
                         div.alert.alert-danger.alert-dismissible.fade.show #{ error }
                             a(class="close", href="#", data-dismiss="alert", aria-label="close") &times;
-                form(class="needs-validation", method="post", action="/account/changePwd" novalidate)
+                form(class="needs-validation", method="post", action="/changePwd" novalidate)
                     div(class="form-group row")
                         label(for="currPwd") Aktuelles Passwort
                         input(id="inputCurrPwd", name="inputCurrPwd", type="password", class="form-control" required)
diff --git a/views/DE/account/services.pug b/views/DE/account/services.pug
index 525041ef0bc99e2b461d545eef822466dae4bb3f..38d109d09321a411dab8daadd02b71d8382e1edf 100644
--- a/views/DE/account/services.pug
+++ b/views/DE/account/services.pug
@@ -34,8 +34,8 @@ html(lang="de")
                 h5
                     span #{user.firstName} #{user.lastName}
                 div(class="nav flex-column nav-pills", id="v-pills-tab", role="tablist", aria-orientation="vertical")
-                    a(class="nav-link" href="/account/profile" aria-selected="true") Benutzerprofil
-                    a(class="nav-link" href="/account/security" aria-selected="false") Sicherheitseinstellungen
+                    a(class="nav-link" href="/profile" aria-selected="true") Benutzerprofil
+                    a(class="nav-link" href="/security" aria-selected="false") Sicherheitseinstellungen
                     a(class="nav-link" href="#" aria-selected="false") Projekte und Dienste
                     a(class="nav-link" href="/logout" aria-selected="false") Logout
             div(class="col-sm-9")
diff --git a/views/DE/project/addProjectOverview.pug b/views/DE/project/addProjectOverview.pug
index 08a391713c561222dec2b9336e60137c3c12dcde..9ed2c76eb32fd4d1bb72984361500397047f4f88 100644
--- a/views/DE/project/addProjectOverview.pug
+++ b/views/DE/project/addProjectOverview.pug
@@ -43,12 +43,12 @@ html(lang="de")
                     for error, i in errors
                         div.alert.alert-danger.alert-dismissible.fade.show #{ error }
                             a(class="close", href="#", data-dismiss="alert", aria-label="close") &times;
-                form(method="POST")
+                form(method="POST" encType="multipart/form-data")
                     div(class='form-row')
                         div(class='form-group col-md-12')
-                            input#inputPname(name="pname" class="form-control" type="text" placeholder="Projekttitel*" required)
+                            input#inputPname(name="title" class="form-control" type="text" placeholder="Projekttitel*" required)
                         div(class="form-group col-md-12")
-                            input#inputTitle(name="title" class="form-control" type="text" placeholder="Akronym*" required)
+                            input#inputTitle(name="pname" class="form-control" type="text" placeholder="Akronym*" required)
                         div(class="form-group col-md-12")
                             input#inputSummary(name="summary" class="form-control" type="text" placeholder="Kurzbeschreibung")
                         div(class='form-group col-md-12')
@@ -59,7 +59,10 @@ html(lang="de")
                                 option(value="Lehr Projekt") Lehr Projekt
                                 option(value="Transfer-projekt") Transfer-projekt
                         div(class="form-group col-md-12")
-                            input#inputLogo(name="logo" class="form-control" type="text" placeholder="Projektlogo, to be implemented: upload picture")
+                            div(class='form-group row')
+                                label(for="projectLogo" class="col-sm-3 col-form-label") Projektlogo (max. 1 MB)
+                                div(class="col-md-9")
+                                    input#inputLogo(name="logo" class="form-control" type="file")
                         div(class="form-group col-md-12")
                             div(class="input-group mb-3")
                                 input#inputGitlabURL(name="gitlabURL" type="text" class="form-control" placeholder="M4_LAB GitLab Project URL, z.B. https://transfer.hft-stuttgart.de/gitlab/username/projectname")
@@ -85,12 +88,11 @@ html(lang="de")
                         div(class='form-group col-md-12')
                             input#inputAnnouncement(name="announcement" class="form-control" type="text" rows="5" placeholder="Ausschreibung")
                         div(class="form-group col-md-12")
-                            div(class='form-row')
-                                div(class="form-group col-md-2")
-                                    <p class="font-weight-normal">Laufzeit</p>
-                                div(class="form-group col-md-5")
+                            div(class='form-group row')
+                                label(for="projectLogo" class="col-sm-2 col-form-label") Laufzeit
+                                div(class="col-md-5")
                                     input#inputTermFrom(name="termForm" class="form-control" type="text" placeholder="von (dd.mm.yyyy)")
-                                div(class="form-group col-md-5")
+                                div(class="col-md-5")
                                     input#inputTermTo(name="termTo" class="form-control" type="text" placeholder="bis (dd.mm.yyyy)")
                         div(class='form-group col-md-12')
                             textarea#inputFurtherDetails(name="furtherDetails" class="form-control" type="text" rows="5" placeholder="Weitere Informationen (bspw. Links zu Berichten)")
@@ -99,7 +101,10 @@ html(lang="de")
                     h5(class="mb-3 font-weight-bold") Bilder
                     div(class='form-row')
                         div(class="form-group col-md-12")
-                            input#inputSrc(name="src" class="form-control" type="text" placeholder="To be implemented: upload picture")
+                            div(class='form-group row')
+                                label(for="projectPicture" class="col-sm-3 col-form-label") Projektbild (max. 1 MB)
+                                div(class="col-md-9")
+                                    input#inputSrc(name="src" class="form-control" type="file")
                         div(class="form-group col-md-12")
                             input#inputCaption(name="caption" class="form-control" type="text" placeholder="Bildunterschrift/Bildquelle")
                     h5(class="mb-3 font-weight-bold") Kontakt
diff --git a/views/DE/project/project-simplified.pug b/views/DE/project/project-simplified.pug
index 6dead87fc997ba03a27b908f3246c1fd91d9522d..b929c71ba6dbc3882b73bf485c65eec05a9c7f1c 100644
--- a/views/DE/project/project-simplified.pug
+++ b/views/DE/project/project-simplified.pug
@@ -7,35 +7,39 @@ html(lang="de")
     link(rel="stylesheet", type="text/css", href="https://transfer.hft-stuttgart.de/css/bootstrap/bootstrap.css")
     link(rel="stylesheet", href="https://use.fontawesome.com/releases/v5.8.2/css/all.css", integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay", crossorigin="anonymous")
     style.
-        .collapse {
-            display: none;
-        }
-        .collapse.in {
-            display: block;
-        }
-        .collapsing {
-            position: relative;
-            height: 0;
-            overflow: hidden;
-            -webkit-transition-timing-function: ease;
-            -o-transition-timing-function: ease;
-            transition-timing-function: ease;
-            -webkit-transition-duration: .35s;
-            -o-transition-duration: .35s;
-            transition-duration: .35s;
-            -webkit-transition-property: height,visibility;
-            -o-transition-property: height,visibility;
-            transition-property: height,visibility;
-        }
-        .warning {
-            color: red;
-            font-size: 11px;
-        }
+      .help .card-title > a:before {
+        float: right !important;
+        content: "-";
+        padding-right: 5px;
+      }
+      .help .card-title > a.collapsed:before {
+          float: right !important;
+          content: "+";
+      }
+      .help h3 > a {
+        color: #8a348b;
+        text-decoration: none;
+        display: block;
+      }
+      .help a {
+          display: inline;
+      }
+      .help .card > .card-header {
+        color: #fff;
+      }
+      .card-title {
+        margin-bottom: 0.5rem;
+        margin-top: 0.5rem;
+      }
+      #infoicon {
+        color: #8a348b;
+      }
   body
     include project.html
 
 
     // jQuery
+    
     script(src="https://code.jquery.com/jquery-3.3.1.min.js")
     script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js", integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1", crossorigin="anonymous")
     // Bootstrap
@@ -44,4 +48,5 @@ html(lang="de")
     if isUserAuthenticated
         script(src="/js/headfootLogout.js")
     else
-        script(src="/js/headfoot.js")
\ No newline at end of file
+        script(src="/js/headfoot.js")
+        
diff --git a/views/DE/project/project.html b/views/DE/project/project.html
index df461962e13ae4c15eb13caa79d5e4a948d96260..ac3137dfd812ef7ac44c25f10622a797cfaabfde 100644
--- a/views/DE/project/project.html
+++ b/views/DE/project/project.html
@@ -1,70 +1,128 @@
-        <div class="container">
-            <hr />
-            <!-- text: Zweck dieser Seite / purpose of this page -->
-            <i class="fas fa-info-circle"></i> Diese Seite bietet den Einstieg zu den unterschiedlichen Projekten, die in unserem Portal für die Öffentlichkeit bereitgestellt werden.
-            Für diesen Zweck steht zur Zeit ein Dienst bereit: eine von der HFT selbst verwaltete Gitlab-Instanz.
-            Alle der in diesem Gitlab erfassten Projektinhalte unterliegen einer Open Source bzw. Open Data Lizenz.
-            <p>Hinweis: Die Nutzeroberfläche von GitLab ist in Englisch.</p>
+<div class="container">
+    <hr />
+    <!-- text: Zweck dieser Seite / purpose of this page -->
+    <div>
+        <i id="infoicon" class="fas fa-info-circle fa-lg"></i> 
+        Diese Seite bietet den Einstieg zu den unterschiedlichen Projekten, die in
+        unserem Portal für die Öffentlichkeit bereitgestellt werden.
+        Für diesen Zweck steht zur Zeit ein Dienst bereit: eine von der HFT selbst verwaltete Gitlab-Instanz.
+        Alle der in diesem Gitlab erfassten Projektinhalte unterliegen einer Open Source bzw. Open Data Lizenz.
+        <p class="font-italic"><b>Hinweis: </b>Die Nutzeroberfläche von GitLab ist in Englisch.</p>
+    </div>
 
-            <!-- link: Gitlab Projekte / Gitlab project list -->
-            <h2> Direkteinstieg </h2>
-            <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Gitlab Projects</i></a>
-            
-            <!-- text: Hilfestellung zu Gitlab / short help about Gitlab -->
-            <hr />
-            <h2> Hilfestellung zu GitLab </h2>
 
-            <h3> <i class="fas fa-question-circle"></i> Möchten Sie die Projektinhalte ansehen oder herunterladen? </h3>
-            <p>
-                Dann klicken Sie auf diesen <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a> um die Liste aller im Gitlab erfassten Projekte zu sehen.
-                Vor dort können Sie dann auf die einzelnen Projekte zugreifen.
-                Ein Anmelden am Portal ist dazu nicht nötig.
-            </p>
-            
-            <h3> <i class="fas fa-question-circle"></i> Möchten Sie zu einem Projekt beitragen? </h3>	
-            <p>
-            Wenn Sie dem Projekteigentümer eine Rückmeldung bzw. einen Fehler melden wollen, navigieren Sie im Gitlab zunächst zum entsprechenden Projekt.
-            Anschließend können Sie dann dort die Möglichkeit nutzen, ein neues "Issues" einzureichen.
-            Ein Anmelden am Portal ist dazu nicht nötig.
-            </p>
-            <p>
-            Wenn Sie darüberhinaus beitragen wollen, befolgen Sie bitte folgende Schritte:
-            </p>
-            <ol>
-                <li>
-                    Melden Sie sich bitte im Portal an. <br>
-                    Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. <br>
-                    Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>.
-                </li>
-                <li>
-                    Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen.
-                </li>
-                <li>
-                    Fragen Sie beim Projekteigentümer um Zugang, indem Sie im Gitlab bei der entsprechende Projektseite auf den Link <em>Request Access</em> klicken. Solbald dieser ihre Anfrage bestätigt hat, können Sie loslegen.
-                </li>
-            </ol>
+    <!-- link: Gitlab Projekte / Gitlab project list -->
+    <h2> Direkteinstieg </h2>
+    <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Gitlab
+            Projects</i></a>
 
-            <h3> <i class="fas fa-question-circle"></i> Möchten Sie selbst ein Projekt anlegen, um es der Öffentlichkeit bereitzustellen? </h3>
-            
-            </p>
-            Vorraussetzung dazu ist, dass Sie aktives oder ehemaliges Mitglied der Hochschule für Technik sind, d.h. eine (noch) gültige HFT-Emailadresse haben.
-            Dann befolgen Sie bitte folgende Schritte:
-            </p>
-            
-            <ol>
-                <li>
-                    Melden Sie sich bitte im Portal an. <br>
-                    Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. <br>
-                    Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>.
-                </li>
-                <li>
-                    Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen.
-                </li>
-                <li>
-                    Erstellen Sie dann in Gitlab ein neues Projekt durch Klicken auf den grünen <em>New Project</em>-Knopf und anschließendem Befolgen der Eingabemaske von Gitlab. <br>
-                    Weitere Hilfestellung zum Anlegen von Projekten in Gitlab finden Sie in der <a href="https://docs.gitlab.com/ee/gitlab-basics/create-project.html"> <i class="fas fa-chevron-right">Gitlab-Dokumentation</i></a>.
-                </li>
-            </ol>
-            
-            <!-- / content body -->
-        </div>
\ No newline at end of file
+    <!-- text: Hilfestellung zu Gitlab / short help about Gitlab -->
+    <hr />
+    
+    <h2>Hilfestellung zu GitLab</h2>
+
+    <br />
+    
+    <div class="help">
+        <div class="card">
+            <div class="card-header">
+                <h3 class="card-title">
+                    <a class="collapsed" data-toggle="collapse" href="#collapse1" aria-expanded="false" aria-controls="collapse1">
+                        Möchten Sie die Projektinhalte ansehen oder herunterladen?</a>
+                </h3>
+            </div>
+            <div id="collapse1" class="card-body collapse">
+                <p>
+                    Dann klicken Sie auf diesen
+                    <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"><i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>
+                    die Liste aller im Gitlab erfassten Projekte zu sehen. Vor dort können Sie dann auf die einzelnen Projekte zugreifen. 
+                    Ein Anmelden am Portal ist dazu nicht nötig.
+                </p>
+            </div>
+        </div>
+
+        <br />
+        
+        <div class="card">
+            <div class="card-header">
+                <h3 class="card-title">
+                    <a class="collapsed" data-toggle="collapse" href="#collapse2" aria-expanded="false" aria-controls="collapse2">
+                        Möchten Sie zu einem Projekt beitragen?</a>
+                </h3>
+            </div>
+            <div id="collapse2" class="card-body collapse">
+                <p>
+                    Wenn Sie dem Projekteigentümer eine Rückmeldung bzw. einen Fehler melden wollen, navigieren Sie im Gitlab zunächst zum entsprechenden Projekt.
+                    Anschließend können Sie dann dort die Möglichkeit nutzen, ein neues "Issues" einzureichen.
+                    Ein Anmelden am Portal ist dazu nicht nötig.
+                </p>
+                <p>
+                    Wenn Sie darüberhinaus beitragen wollen, befolgen Sie bitte folgende Schritte:
+                </p>
+                <ol>
+                    <li>
+                        Melden Sie sich bitte im Portal an. 
+                        <br />
+                        Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. 
+                        <br />
+                        Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen
+                        <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>.
+                    </li>
+                    <li>
+                        Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> 
+                            <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen.
+                    </li>
+                    <li>
+                        Fragen Sie beim Projekteigentümer um Zugang, indem Sie im Gitlab bei der entsprechende
+                        Projektseite auf den
+                        Link <em>Request Access</em> klicken. Solbald dieser ihre Anfrage bestätigt hat, können
+                        Sie loslegen.
+                    </li>
+                </ol>
+            </div>
+        </div>
+
+        <br />
+
+        <div class="card">
+            <div class="card-header">
+                <h3 class="card-title">
+                    <a class="collapsed" data-toggle="collapse" href="#collapse3" aria-expanded="false" aria-controls="collapse3">
+                        Möchten Sie selbst ein Projekt anlegen, um es der Öffentlichkeit bereitzustellen?</a>
+                </h3>
+            </div>
+            <div id="collapse3" class="card-body collapse">
+                <p>
+                    Vorraussetzung dazu ist, dass Sie aktives oder ehemaliges Mitglied der Hochschule für Technik sind,
+                    d.h. eine (noch) gültige HFT-Emailadresse haben. Dann befolgen Sie bitte folgende Schritte:
+                </p>
+                <ol>
+                    <li>
+                        <p>
+                            Melden Sie sich bitte im Portal an. 
+                            <br />
+                            Sofern Sie noch nicht als Nutzer im Portal eingetragen sind, wird das System Sie durch die Registrierung leiten. 
+                            <br />
+                            Zur Anmeldung bzw. Registrierung gelangen Sie entweder über das Menü am oberen Seitenrand oder durch Klicken auf diesen 
+                            <a href="https://m4lab.hft-stuttgart.de/account/"> <i class="fas fa-chevron-right">Link zum Benutzerkonto</i></a>.
+                        </p>
+                    </li>
+                    <li>
+                        Folgen Sie dem <a href="https://transfer.hft-stuttgart.de/gitlab/explore/projects"> 
+                            <i class="fas fa-chevron-right">Link zu den Gitlab-Projekten</i></a>, um zum Gitlab zu gelangen.
+                    </li>
+                    <li>
+                        Erstellen Sie dann in Gitlab ein neues Projekt durch Klicken auf den grünen <em>New Project</em>-Knopf und
+                        anschließendem Befolgen der Eingabemaske von Gitlab. 
+                        <br />
+                        Weitere Hilfestellung zum Anlegen von Projekten in Gitlab finden Sie in der 
+                        <a href="https://docs.gitlab.com/ee/gitlab-basics/create-project.html"> <i class="fas fa-chevron-right">Gitlab-Dokumentation</i></a>.
+                    </li>
+                </ol>
+            </div>
+        </div>
+    </div>
+
+    <hr />
+    <!-- / content body -->
+</div>
\ No newline at end of file