## "Howdie"
# [Howdie!](https://howdies.herokuapp.com/)
---
### Scrum Faci - Sumithra
### DevOps - Manoela
### Q&A - Karwan
### UX/UI - Suraj
---
#### Howdie Flowchart

---
## Scrum Faci - Sumithra

---
Error handling
```
// Error message object
const errorMsg = {
email : "Please enter your email",
password: "Please enter a password",
username:"Please enter your username"
};
function checkForErrors(input){
let errors = {};
const keys = Object.keys(input);
// iterate over object
keys.forEach((key, index) => {
if(!input[key]){
errors[key] = errorMsg[key];
}
});
return errors;
}
```
```
let errors = checkForErrors({username, email, password});
```
---
## DevOps - Manoela

----
Responsibilities
- Lead on setting up repo and file structure
- Make sure separation of concerns is considered - e.g. templates containes all html functions; cleaned.js contains validation and sanitisation fcs
- Set up linting, prettier
- Set up deployment to Heroku (got help from Karwan re the start script)
- set up environment variables for local and remote databases
----
### Display correct navbar depending on location
`function NavBar(session) {
const userId = session?.user_id;
`
if logged in: navbar shows = Home | Profile | Logout
if not: navbar shows = Home | Sign in | Log in
----
#### Conditional (ternary) operator
`return session ? loggedIn : loggedOut;`
----
##### Optional chaining
const userId = user?.id ;
---
## QA - Karwan

---
## UX/UI - Suraj

---
- Support on deployment to heroku.
- Created Mock Datas, better understanding on database.
- support on creating queries and server routes.
- Support on Styles of webpage
---
```js
function NavBar(session) {
const userId = session?.user_id;
const loggedIn = /*html*/ `
<h1>Howdie</h1>
<nav>
<ul>
<div class="left-loggedin">
<li><a href="/">Home</a></li>
<li><a href="/my-howdies/${userId}">Profile</a></li>
</div>
<li class="right-loggedin"><form method='POST' action="/log-out"><button>Log out</button></form></li>
</ul>
</nav>`;
const loggedOut = `CODES...`;
return session ? loggedIn : loggedOut;
}
```
---
## How did we work?
---
## What we learnt?
---
## What we struggled with?
{"metaMigratedAt":"2023-06-17T11:46:40.082Z","metaMigratedFrom":"Content","title":"[Howdie!](https://howdies.herokuapp.com/)","breaks":true,"contributors":"[{\"id\":\"3d886e01-47d9-4b9e-9ccf-32c3eca622a9\",\"add\":526,\"del\":50},{\"id\":\"4e4440f8-2748-43aa-9b47-03cb13bf3538\",\"add\":803,\"del\":36},{\"id\":\"85bf9bcd-3fb6-4c9b-8a84-7f44e1efe568\",\"add\":797,\"del\":2},{\"id\":\"a39a5cc6-168d-44c7-9860-65c732cfa946\",\"add\":561,\"del\":0}]"}