# TFB - InCommon Design Week Cemal, Mohamed, Barbara, Adriana, Alex --- ### Introduction (Cemal) - [x] Overview of project - [x] Demo (Signup, Login, Event View, Event Creation) --- ### Create Events (Alex) React and forms --- ### Different pages for different stages --- ```jsx= const [stage, setStage] = useState(1); ``` --- ```jsx= if (stage === 1) return ( /* 1st stage */ ); if (stage === 2) return ( /* the next stage */ ); if (stage === 3) return ( /* another one */ ); if (stage === 4) return ( /* the last stage */ ); ``` --- ```jsx= <Button ... onClick={() => setStage(stage - 1)}>Back</Button> <Button ... onClick={() => setStage(stage + 1)}>Next</Button> ``` --- ```jsx= <EventActivity setStage={setStage} stage={stage} ... /> ``` --- ### The state of the place --- ```jsx= const [signUpEmail, setSignUpEmail] = useState(''); const [signUpPassword, setSignUpPassword] = useState(''); const [type, setType] = useState(''); const [orgName, setOrgName] = useState(''); const [orgAddress, setOrgAddress] = useState(''); const [contactName, setContactName] = useState(''); const [contactNumber, setContactNumber] = useState(''); ``` --- ```jsx= const [newEvent, setNewEvent] = useState({}); ``` --- ```jsx= <EventActivity ... setNewEvent={setNewEvent} newEvent={newEvent} /> ``` --- ```jsx= const handleChange = (e) => { setNewEvent((oldEvent) => ({ ...oldEvent, activity: e.target.value })); }; ``` --- ![](https://i.imgur.com/FqUEyha.png) --- ### How to sign up 1. Introduction chat with inCommon 2. ![](https://i.imgur.com/nXq8ui2.png =250x) 3. Wait for Approval 4. inCommon Admin: ![](https://i.imgur.com/zuKpJnv.png) --- ### Sign-up behind the scenes #### 1. Sign-up form :arrow_right: setState <!--![](https://i.imgur.com/P6fqgIf.png)--> ![](https://i.imgur.com/6SueqTA.png) ![](https://i.imgur.com/qY7ZZy7.png) --- #### 2. Create Firebase user - Safe authentication - User can log in while awaiting approval ![](https://i.imgur.com/DxOr2HC.png) --- #### 3. Create Airtable user - With form entries & Firebase-uid ![](https://i.imgur.com/ul6rEbd.png) --- #### 4. Approved accounts can use the website ![](https://i.imgur.com/QLw9Jku.png) --- ### Airtable: Database & Admin Control - Accounts ![](https://i.imgur.com/El1jSXR.png) - Activity Ideas ![](https://i.imgur.com/39QtUcW.png) - Events ![](https://i.imgur.com/5GyOHD5.png) --- ### Airtable Automatic Emails ![](https://i.imgur.com/cTFkXlf.png) --- ### Airtable Automatic Emails ![](https://i.imgur.com/SOxp94r.png) --- ### Testing (Adriana) ![](https://cfn-tech-blog-prod.tradeling.com/2021/02/dynamics-image-1-1.gif) --- ### Before ![](https://i.imgur.com/7439hHJ.png) --- ### After ![](https://i.imgur.com/z14hUgR.png) --- ![](https://i.imgur.com/mvKpLbZ.png) --- ![](https://i.imgur.com/SJJjkwy.png) --- ![](https://i.imgur.com/adJQOsG.png) --- ![](https://i.imgur.com/037NWEb.png) --- ### cy.session() * The new cy.session() command solves this problem by caching and restoring cookies after a successful login. * The steps that your login code takes to create the session will only be performed once when it's called the first time in any given file. * Subsequent calls will restore the session from cache. --- ![](https://i.imgur.com/TXo1QtF.png) --- ![](https://i.imgur.com/3l3D9qQ.png) --- ![](https://i.imgur.com/OJiNqO1.png) --- ![](https://i.imgur.com/USL5q7h.png) ![](https://i.imgur.com/fQbSQQr.png) --- ### Sprint Planning ![](https://i.imgur.com/UdAKDk3.jpg) <!-- ![](https://i.imgur.com/OBlVEul.png =200x) --> --- ### Sprint Planning <iframe src="https://giphy.com/embed/iIMnq64YJPb3YlYuDk" width="276" height="280" frameBorder="0" class="giphy-embed" allowFullScreen> </iframe> - [ ] Insuring that each issue has got an estimation - [ ] Backlog carried over (Mainly server/client side, testing and error handling) --- ### Kanban ![](https://i.imgur.com/e7I1hbl.jpg =300x) ![](https://i.imgur.com/pvzGzsM.png =300x) --- #### Sprint Velocity <iframe src="https://giphy.com/embed/l41lH8Zan6Zs5CHmw" width="480" height="380" frameBorder="0" class="giphy-embed" allowFullScreen></iframe> Step 1: how many user story points are completed in each sprint --- ### step 2: Divide step 1 by sprint <iframe src="https://giphy.com/embed/dWlBM4Uw056Q3IrpDy" width="480" height="405" frameBorder="0" class="giphy-embed" allowFullScreen></iframe> --- <iframe src="https://giphy.com/embed/Q8rZWVOb7JJdGWJJwn" width="480" height="405" frameBorder="0" class="giphy-embed" allowFullScreen></iframe> #### step 3: Calculate the average sprint velocity: So your average sprint velocity is [total velocity] รท [the number of sprints] = the average sprint. --- ### Attempt: PERT Estimation Technique <iframe src="https://giphy.com/embed/nkLB4Gp8H6hFe" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen></iframe> --- ### Learnings - [ ] Selecting each task and breaking it into small pieces - [ ] Ticking each tasks in the issues - [ ] Only merging branch with the main when issues has been resolved (vercel) - Things to bare in mind - [ ] People are getting tired. In future playing games together could help us all. - [ ] Have a chat with the other team --- ### Any Questions <iframe src="https://giphy.com/embed/FCiTB1Byb2ocAdXIiq" width="480" height="405" frameBorder="0" class="giphy-embed" allowFullScreen></iframe>
{"metaMigratedAt":"2023-06-16T16:07:42.980Z","metaMigratedFrom":"Content","title":"TFB - InCommon Design Week","breaks":true,"contributors":"[{\"id\":\"0a3ab15b-3310-4524-96d0-8240b9d0005e\",\"add\":2932,\"del\":875},{\"id\":\"5e681836-8f91-4878-933c-ec6586284e6c\",\"add\":106,\"del\":32},{\"id\":\"fd429060-bd08-4036-b343-577a83f24e57\",\"add\":1000,\"del\":103},{\"id\":\"6cc335f8-1f36-47ab-89ea-21858127bf52\",\"add\":1546,\"del\":435},{\"id\":\"548f50f6-57d2-41cc-8ac5-16f14911b4e2\",\"add\":1504,\"del\":76}]"}
    199 views