Skip to content
Roene edited this page Mar 2, 2020 · 3 revisions

Deze week ben ik nadat ik duidelijk had welke feature ik wilde uitwerken begonnen met het bouwen van deze feature. Eerst ben ik gestart met het maken van EJS pagina's die naar elkaar kunnen linken. Vervolgens heb ik hier content aan toegevoegd en CSS voor de style. Nadat ik dit allemaal werkend had ben ik begonnen met het toevoegen van functionaliteiten zoals het versturen van data uit de applicatie naar de database.

POST Request

Eerst heb ik een .get request in de index.js naar de juiste pagina aangemaakt

.get('/sign-up', routes.signUpForm)
.post('/sign-up', upload.single('cover'), routes.signUp)

Vervolgens een .post om de functionaliteit van het formulier af te handelen in de routes.js file.

exports.signUp = function signUp (req, res, next) {
    db.collection('EreDate').insertOne ({
        firstname: req.body.firstname,
        surname: req.body.surname,
        age: Number(req.body.age),
        gender: req.body.gender, 
        club: req.body.club,
        picture: req.file ? req.file.filename : null,
        email: req.body.email,
        password: req.body.password,
        searchGender: req.body.searchGender,
        description: req.body.description
    }, done)

    function done (err, data) {
        if (err) {
            next(err)
        } else {
            res.redirect('/login')
        }
    }
}

De data die ingevuld wordt in het formulier wordt in de database opgeslagen. Door deze code maak ik verbinding met de database die ik heb aangemaakt.

const mongo = require('mongodb')
const session = require('express-session')

require('dotenv').config() 

let db = null
const url = process.env.MONGODB_URI

mongo.MongoClient.connect(url, {useUnifiedTopology: true}, function (err, client) {
    if (err) throw err
    db = client.db(process.env.DB_NAME)
  })

Wat er nu nog moet gebeuren is dat de wachtwoorden niet als plain-text worden opgeslagen maar dat dit word gehashed in de database. Als dat gelukt is kan ik de login functionaliteit gaan maken

Clone this wiki locally