## "Howdie" # [Howdie!](https://howdies.herokuapp.com/) --- ### Scrum Faci - Sumithra ### DevOps - Manoela ### Q&A - Karwan ### UX/UI - Suraj --- #### Howdie Flowchart ![](https://i.imgur.com/SpuxWHi.png) --- ## Scrum Faci - Sumithra ![](https://media.tenor.com/9jgrIl-ZH9IAAAAC/scrum.gif) --- 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 ![](https://i.imgur.com/ZH6pjjh.png) ---- 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 ![](https://media.giphy.com/media/13HgwGsXF0aiGY/giphy.gif) --- ## UX/UI - Suraj ![](https://i.imgur.com/M9Jpe4s.png) --- - 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}]"}
    115 views