-
Notifications
You must be signed in to change notification settings - Fork 0
Week 5
Wanneer ik thuis op de bank zit en de datingapp wil gebruiken, wil ik een account kunnen aanmaken, zodat ik met dit account kan inloggen op de datingapp.
De job story bestaat uit 2 onderdelen, het registeren, dit is stap 1 en het inloggen, dat is stap 2
Vervolgens ben ik gaan kijken wat ik voor deze job story nodig heb. Hiervoor heb ik de MoSCoW methode toegepast (must, should, could & would have)
- Registratie formulier (M)
- Voornaam + achternaam (M)
- Email + wachtwoord (M)
- Afbeelding (M)
- Geslacht (M)
- Supporter van welke club (M)
- Opzoek naar man / vrouw (M)
- Login formulier (M)
- Email en wachtwoord (M)
- Wachtwoorden veilig opslaan in de database (M)
- Uitloggen (M)
- Eigen profiel kunnen bekijken (M)
- Niet ingelogd = geen toegang tot bepaalde pagina's (S)
- Profiel verwijderen (S)
- Profiel aanpassen (C)
Deze week heb ik het uitloggen gemaakt, het dashboard, het profiel van de ingelogde gebruiker en het verwijderen van je eigen profiel. Verder heb ik ook de readme geschreven zodat iemand anders dit project zou kunnen installeren en kunnen draaien op zijn of haar computer.
Hier zie je de code voor het bovenstaande :
// Logout, filter user token and return true if any tokens of is not equal to the token of the loggedin user
.get('/logout', auth, async (req, res) => {
try {
req.user.tokens = req.user.tokens.filter((token) => {
return token.token != req.token
})
await req.user.save()
res.clearCookie('dating_token')
res.redirect('/')
} catch (err) {
res.status(500).send(err)
}
})
// Render the dashboard expect with the user who is signed in.
.get('/dashboard', auth, async (req, res) => {
try {
const users = await User.find({ _id: {$ne: req.user._id} }).lean()
res.render('pages/dashboard', { users })
} catch (err) {
res.status(500).send(err)
}
})
.get('/profile', auth, (req, res) => {
try {
const user = req.user
res.render('pages/profile', { user })
} catch (err) {
res.status(500).send(err)
}
})
.post('/delete', auth, async (req, res) => {
try {
const user = req.user
await user.remove()
res.status(204).redirect('/')
} catch (err) {
res.status(500).send(err)
}
})Hier heb ik hetzelfde voorbeeld voor gebruikt als eerder.
Ik heb nu een applicatie waar je kan registeren en inloggen (dit was mijn job story). Vervolgens heb ik een pagina gemaakt waar je iedereen ziet die zich heeft aangemeld en vervolgens heb ik het persoonlijke profiel pagina aangemaakt waar je je eigen account kan verwijderen.




